最近做了個服務用來分解料單、計算可用庫存,日消耗一類的操作,以WebService的方式發佈並掛在IIS上,客戶端啟動任務後可能會關閉(等第二天過來看結果) 基本的做法都是在獨立的線程中運行任務併在運行過程中寫一些狀態/進度到全局變數中如(static類型的變數或Application等),客戶端每
最近做了個服務用來分解料單、計算可用庫存,日消耗一類的操作,以WebService的方式發佈並掛在IIS上,客戶端啟動任務後可能會關閉(等第二天過來看結果)
基本的做法都是在獨立的線程中運行任務併在運行過程中寫一些狀態/進度到全局變數中如(static類型的變數或Application等),客戶端每隔一定時間檢測這些變數以顯示執行狀態/進度。
在有客戶端不斷發請求進來時任務能正常運行並結束,但是如果沒有任何客戶端持續發請求進來時,預設的IIS應用程式池設置就有可能把w3p.exe進程給回收了。
設置參考下圖:
一般需要指定個具體的回收時間,然後禁止回收時間點前一段時間啟動任務,因為很可能任務沒允許完w3p.exe進程就被幹掉了。
需要取消空閑時間回收選項,這裡的空閑表示沒有請求進來。