我想我的计时器在一段时间后停止工作,我刚刚测量了 20 分钟,到目前为止还没有发现任何其他导致停止的原因。如果它的垃圾被收集了,我应该如何声明它才不会被收集?
[WebMethod, SoapHeader("spAuthenticationHeader")]
public void startStreaming()
{
if (Globals._streamTimer == null)
Globals._streamTimer = new System.Threading.Timer(handleStream, null, 0, 30000);
return Globals._returnValue;
}
public static class Globals
{
public static System.Threading.Timer _streamTimer = null;
}
最佳答案
看看您的 IIS 设置 - 20 分钟?
Web 应用程序不应长时间运行。无论你在做什么,你都应该以不同的方式去做。也许是 Windows 服务,或者持久存储和轮询...
或者,您可以拼凑它并增加超时值。
关于c# - 计时器在 Web 服务中 20 分钟后停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12386151/