0
我已經部署IIS服務器上的ASP.NET MVC的Web應用程序,如何在IIS服務器上在後臺運行線程,即使沒有任何對Web應用程序的請求?
在該應用程序,我做了一件事情,例如像下面的獨立的線程:
while (true)
{
doSomeJobs();
Thread.Sleep(TimeSpan.FromMinutes(5));
}
開始這個線程Application_Start()
如此似乎它永遠不會停止每一輪工作之間的5分鐘睡眠。
首先看起來工作得很好,但在第二天我檢查日誌不工作,因爲我預計,它已停止工作很長一段時間。
然後,當我再次嚮應用發送請求時,它會再次開始工作。
那麼我錯過了什麼?即使沒有任何對應用程序的請求,是否可以在每個特定時間在後臺運行線程?這就像一個計劃任務?
不知道你是什麼確切的使用情況。但它聽起來像一個總是運行的服務(Windows服務)的需要 – Shyju
@Shyju是的,我該怎麼做? –
如果您想要一個計劃任務,Windows允許您直接創建,https://technet.microsoft.com/en-us/library/cc748993(v=ws.11).aspx。如果您想更好地控制代碼的運行方式,可以創建一個Windows服務應用程序,https://docs.microsoft.com/en-us/dotnet/framework/windows-services/walkthrough-creating-a-windows-service在組件中的應用程序設計器不要打擾IIS/ASP.NET,因爲它們不是爲你的目標而設計的。 –