Asp.net-Mvc

應用程序池回收後如何預熱我的 asp.net mvc webapp?

  • February 3, 2019

我在 IIS 8.0 中執行 ASP.NET MVC webapp。在接受請求之前,我的應用程序需要預熱。當我們部署新程式碼時,我們已經有一個自動預熱應用程序的過程。但是,我們會看到導致應用程序未預熱的周期性應用程序池回收事件。

是否有檢測應用程序池回收事件並執行腳本或某些程式碼的最佳實踐?

您可以做幾件事:

1.應用初始化

您可以使用IIS 8.0 自帶的應用程序初始化模組

你可以在你的web.config

<applicationInitialization
    doAppInitAfterRestart="true" >
  <add initializationPage="/" />
</applicationInitialization>

initializationPage="/"每次您的應用程序自動啟動時,這都會向您的應用程序的根 ( ) 發送一個請求。

您還可以為您的應用程序池配置啟動模式,Always Running這意味著每次 IIS 重新啟動時,它將確保立即啟動您的應用程序池(如果從右鍵點擊您的應用程序池然後Advanced Settings

在此處輸入圖像描述

對於您的網站本身(然後右鍵Preload點擊該網站Manage Site``Advanced Settings

在此處輸入圖像描述

2.禁用空閒超時

Idle Time-out此外,您可以通過將應用程序池的 in 更改為 0(無限)來禁用 idleTimeout(預設情況下,IIS 將在活動 20 分鐘後關閉應用程序)

在此處輸入圖像描述

3.禁用定期回收

預設情況下也關閉Regular Time Interval (minutes)IIS 將每 29 小時回收一次您的應用程序。

在此處輸入圖像描述

為了

引用自:https://serverfault.com/questions/590865