2
我知道,當應用程序池被回收或停止時,或者當進程退出時,我已啓動的任何線程將被強制終止。我也知道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();
}
}
以下,有在IIS中的任何其他機構,可以終止我_worker
線程,但仍繼續爲新的請求提供服務,好像什麼都沒有發生?
我正在尋找任何監控與請求,CPU時間,時鐘等無關的線程的機制,並根據一些啓發式設置終止它們。