C# 中 system.timer 下的定时器控件,当引发事件的间隔时间小于事件函数的执行时间,系统会再开个线程执行

2024-11-08 20:29:45
推荐回答(2个)
回答(1):

进行才长时间操作时,界面假死和定时器无关。
要防止假死,最好用线程。
没搞懂你为什么要用定时器。
线程中可以定义个事件,当线程执行完成,通过事件通知主进程,主进程再决定下面的操作。

回答(2):

有可能是由于timer已经被回收掉了 你是在什么环境下面winform? webform?

经过你的补充我看明白了 是这样的 由于你的应用程序在特定空闲时间之后相应的w3wp辅助进程会被回收掉 所以你的timer自然没有作用了 你可以查看iis 应用程序池的属性 切换到性能选项卡空闲超时 默认的时间是20分钟 也就是说如果20分钟内你的网站没有任何请求那么就会造成回收