[IIS]為什麼應用程式集區設定了 AlwaysRunning 沒有效果呢?

為什麼應用程式集區設定了 AlwaysRunning 沒有效果呢?

環境: Windows Server 2012

最近「使用 Hangfire 來處理非同步的工作」,當我把 Task 放進 BackgroundJob 的 Queue 後。

發現 Task 都沒有被執行,後來參考「Use IIS Application Initialization for keeping ASP.NET Apps alive」這篇。

才發現原來沒有安裝「應用程式初始化」沒有安裝,如下圖,

image

 

安裝上去後, 應用程式集區的啟動模式設定為 AlwaysRunning,

image

 

應用程式的「預先載入已啟用」設定為 True ,

image

 

運作就正常了哦。

另外,在 應用程式集區 的 進階設定 裡, 回收 -> 固定時間間隔(分鐘) 屬性,預設是 1740 ,也要設定成 0 哦!

 

參考資料

Use IIS Application Initialization for keeping ASP.NET Apps alive

使用 Hangfire 來處理非同步的工作