私が開始したスレッドは、アプリケーションプールがリサイクルまたは停止したとき、またはプロセスが終了したときに強制終了されます。また、IISは長時間実行されるタスク用に設計されたものではないことも知っています。アプリケーションプールがまだ実行中のときに、実行中のスレッドを終了させるかどうかを指定します。
は、プロセスとアプリケーションプールがどのような方法でシャットダウンされていないことを考えるとGlobal.asaxの
protected void Application_Start(object sender, EventArgs e)
{
_worker = new Thread(Run);
_worker.IsBackground = true;
_worker.Start();
}
private void Run()
{
while(true)
{
Thread.Sleep(50000);
WorkWork.BeHappyTo();
}
}
に次のように考えてみて、私の_worker
スレッドを終了、依然として継続できIIS内の他のメカニズムがありますあたかも何も起こっていないかのように、新しい要求に応えますか?
リクエスト、CPU時間、時計時刻などに関係しないスレッドを監視し、ヒューリスティックのセットに基づいてそれらを終了するメカニズムを探しています。