0

ポーリング サービスとして機能するが .NET Web アプリケーション内で実行される非同期スレッドを生成することに危険や問題はありますか?

例えば:

public class Global : HttpApplication
{
    protected void Application_Start()
    {
        var timer = new Timer();
        timer.Interval = 1000;
        timer.Elapsed += TimerElapsed;
    }

    private void TimerElapsed(object sender, ElapsedEventArgs e)
    {
        // Do work
    }
}

アプリケーションが独自のアプリケーション プールで実行されている場合、注意すべき隠れた意味はありますか?

4

1 に答える 1

0

Phil Haack は、なぜこれが悪い考えなのかをよく説明しています: http://haacked.com/archive/2011/10/16/the-dangers-of-implementing-recurring-background-tasks-in-asp-net. aspx/

彼は、Web サーバーでタイマーを実行するためのより優れた代替手段である NuGet パッケージを利用できます: http://www.nuget.org/packages/webbackgrounder

于 2014-02-10T00:57:47.223 に答える