應用程式離線檔案 (app_offline.htm
)
注意
這不是這篇文章的最新版本。 如需目前的版本,請參閱 本文的 .NET 9 版本。
警告
不再支援此版本的 ASP.NET Core。 如需詳細資訊,請參閱 .NET 和 .NET Core 支援原則。 如需目前版本,請參閱本文的 .NET 8 版本。
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
檔案。