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

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

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

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

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

已鎖定的部署檔案

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

app_offline.htm 是發行已鎖定檔案的主要機制。 Web Deploy 使用 app_offline.htm 來正確停止和啟動應用程式。

可以手動使用 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 命令會啟動應用程式集區。
  • 開發人員會提供 New-Item 命令與 Remove-Item 命令之間的命令以部署應用程式。

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