C# 基于时间跨度的对象超时实现
大家好,我需要实现一种方法来超时我的对象,而不使用基于特定时间跨度和最后一个事务日期的计时器类。有人能指出这种类型的良好实现或示例吗?顺便说一下,这不是一个web应用程序,而是一个控制台应用程序 编辑1:C# 基于时间跨度的对象超时实现,c#,.net,C#,.net,大家好,我需要实现一种方法来超时我的对象,而不使用基于特定时间跨度和最后一个事务日期的计时器类。有人能指出这种类型的良好实现或示例吗?顺便说一下,这不是一个web应用程序,而是一个控制台应用程序 编辑1: 对不起,我忘了告诉你们我的一些实际情况。我有不同的线程,它们生成的对象如果在x个时间量之后没有事件,则需要超时。我已经有了一个使用计时器的工作逻辑,但我希望它更有效,并且不使用线程池中的线程(因为我使用的是计时器,那么WaitCallBack上的对象将由我的应用程序域线程池中的空闲线程处理)。
对不起,我忘了告诉你们我的一些实际情况。我有不同的线程,它们生成的对象如果在x个时间量之后没有事件,则需要超时。我已经有了一个使用计时器的工作逻辑,但我希望它更有效,并且不使用线程池中的线程(因为我使用的是计时器,那么WaitCallBack上的对象将由我的应用程序域线程池中的空闲线程处理)。我在想,我是否可以只用一个线程来完成这个任务,但我不知道如何实现它。希望有人能帮我,谢谢 如果没有某种计时器,我想不出一种方法来做这件事
您可以从
日期时间中减去最后一个事务日期。现在
-将生成的时间跨度与您的特定时间跨度一起使用,以获得初始化计时器所需的毫秒数。我感觉缓存对象可能能够帮到您-即使它不是web应用,您仍然可以通过添加对System.Web的引用来使用它,或者如果您在.NET 4中,他们已经在System.Runtime.Caching中添加了它。您能否详细说明需要超时的内容,是否存在需要超时的对象,对象上的某个方法,您希望在超时后取消执行?尽管原始海报上确实说“不使用计时器类”。