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