1

我认为我的计时器在一段时间后停止工作,我刚刚测量了 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;
}
4

1 回答 1

4

看看您的 IIS 设置 - 20 分钟?

Web 应用程序不应该长时间运行。无论你在做什么,你都应该以不同的方式去做。也许是 Windows 服务,或者持久存储和轮询......

或者,您可以将其混杂并增加超时值。

IIS 空闲超时

于 2012-09-12T10:51:38.003 回答