應用程式離線檔案 (app_offline.htm)

ASP.NET Core模組會使用應用程式離線檔案 (app_offline.htm) 來關閉應用程式。

如果在應用程式的根目錄中偵測到名稱為 app_offline.htm 的檔案,ASP.NET Core模組會嘗試正常關閉應用程式並停止處理傳入要求。 如果應用程式仍在中 shutdownTimeLimit 定義的秒數之後執行,ASP.NET Core模組會停止執行中的進程。

當檔案 app_offline.htm 存在時,ASP.NET Core模組會透過傳回檔案的內容 app_offline.htm 來回應要求。 app_offline.htm必須小於 4 GB。 移除檔案 app_offline.htm 時,下一個要求會啟動應用程式。

使用跨處理序裝載模型時,若未開啟連線,應用程式可能無法立即關閉。 例如,WebSocket 連線可能會延遲應用程式關閉。

已鎖定的部署檔案

當應用程式執行時,會鎖定部署資料夾中的檔案。 無法於部署期間覆寫已鎖定的檔案。

app_offline.htm 是釋放鎖定檔案的主要機制。 app_offline.htm 由 Web Deploy 用來正確停止並啟動應用程式。

app_offline.htm 可以手動用來啟動和停止應用程式 (需要 PowerShell 5 或更新版本) :

$pathToApp = '{PATH TO APP}'


New-Item -Path $pathToApp -Name "app_offline.htm" -ItemType "file"

# Provide script commands here to deploy the app

Remove-Item -Path $pathToApp\app_offline.htm

在上述 PowerShell 腳本中:

  • 預留位置 {PATH TO APP} 是應用程式的路徑。
  • 命令 New-Item 會停止應用程式集區。
  • 命令 Remove-Item 會啟動應用程式集區。
  • 命令與 Remove-Item 命令之間的 New-Item 命令是由開發人員提供來部署應用程式。

您也可以手動停止伺服器上的 IIS 管理員中的應用程式集區來解除鎖定檔案。 使用 IIS 管理員停止並重新啟動應用程式集區時,請勿使用 app_offline.htm 檔案。