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 に答える