我有IIS服務器,它運行我創建的幾個WCF REST服務。 現在我需要添加一些在服務器上運行的進程,並且偶爾爲我做一些工作。IIS後臺進程
我猜IIS應該啓動某種後臺進程或某種東西,但我不確定在這種情況下我應該使用哪種技術?
我有IIS服務器,它運行我創建的幾個WCF REST服務。 現在我需要添加一些在服務器上運行的進程,並且偶爾爲我做一些工作。IIS後臺進程
我猜IIS應該啓動某種後臺進程或某種東西,但我不確定在這種情況下我應該使用哪種技術?
您可以安排一個過程來生活,然後檢查,看看是否有組件已排隊工作做的事。該工作可以存儲在一個文件(需要被鎖定)或數據庫表(這是我的偏好)。
Windows Scheduled Tasks通常是這樣做的方法。
作爲一種替代Windows任務計劃程序,如其他人所說,你還可以:
在你global.asax
文件,在你的application_start()
方法,你可以旋轉了一個新的線程做任何你想要的,並關閉它在application_end()
方法下。
如果應用程序閒置時間過長,則還必須配置IIS以不卸載應用程序。 – Joshua
在閱讀至少三個其他類似的問題後,似乎最好的做法是避免運行後臺線程並允許Windows服務應用程序執行處理。您可以將行拖放到數據庫表中或將一行添加到文件以啓動Windows服務工作。
請參閱以下任線程...
Can I use threads to carry out long-running jobs on IIS?
What are some best practices for managing background threads in IIS?
如果你搜索「計劃任務」,而不是「後臺進程」,你會發現幾十個問題關於這一主題這裏已經。 – bzlm
[如何設置計劃任務以使用Windows任務計劃程序在後臺運行]的可能重複(http://stackoverflow.com/questions/6568736/how-to-set-a-scheduled-task-to-run-in -background-using-windows-task-scheduler) – Joshua