次の方法で共有


アプリのオフライン ファイル (app_offline.htm)

Note

これは、この記事の最新バージョンではありません。 現在のリリースについては、この記事の .NET 9 バージョンを参照してください。

警告

このバージョンの ASP.NET Core はサポート対象から除外されました。 詳細については、 .NET および .NET Core サポート ポリシーを参照してください。 現在のリリースについては、この記事の .NET 9 バージョンを参照してください。

重要

この情報はリリース前の製品に関する事項であり、正式版がリリースされるまでに大幅に変更される可能性があります。 Microsoft はここに示されている情報について、明示か黙示かを問わず、一切保証しません。

現在のリリースについては、この記事の .NET 9 バージョンを参照してください。

アプリのオフライン ファイル (app_offline.htm) は、アプリをシャットダウンするために ASP.NET Core モジュールによって使用されます。

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 配置によって使用されます。

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 ファイルを使用しないでください。