129

.NET 2.0アプリケーションのルート内に配置できるファイルについて読みました。app_offline.htmこれにより、本質的にアプリケーションがシャットダウンされ、他のページが要求されなくなります。

ファイルをルートに配置しましたが、サイトはまだ読み込まれています。IISのデフォルトのドキュメントに移動して設定しましたがapp_offline.htm、サイトは引き続き読み込まれます(ただし、これはキャッシュの問題であった可能性があります)

とにかく、誰かがこれを使用して問題に遭遇しましたか?私は何か間違ったことをしていますか?

4

7 に答える 7

167

私は過去に問題なくサイトをシャットダウン/更新するために非常に便利なapp_offline.htmトリックを使用しました。

IIS内で構成したWebサイトの「ルート」に「app_offline.htm」ファイルを実際に配置していることを確認してください。

また、ファイルの名前が正しい名前になっていることを確認してください。 app_offline.htm

それ以外に、このファイル(この特定の名前)の処理はIIS自体(IIS v6の場合)ではなくASP.NETランタイムによって処理されるため、IISに変更を加える必要はありません。

ただし、このファイルをサイトのルートに配置すると、アプリケーションは強制的に「シャットダウン」され、「app_offline.htm」ファイル自体のコンテンツが表示されますが、既存のリクエストはすべて、実際のWebサイトを提供します。彼らへ。新しいリクエストのみがapp_offline.htmコンテンツを取得します。

それでも問題が解決しない場合は、次のリンクを試して詳細を確認してください。

スコット・グのApp_Offline.htm

App_Offline.htmおよび「IEFriendlyErrors」機能の回避

app_offline.htmは現在のリクエストを停止しますか、それとも新しいリクエストのみを停止しますか?

于 2009-07-20T13:23:40.433 に答える
48

app_offline.htmファイルの長さが512バイト以上であることを確認してください。ゼロバイトのapp_offline.htmは効果がありません。

更新: ASP.NET/IISの新しいバージョンは、私が最初にこれを書いたときよりもうまく動作する可能性があります。

更新2: ASP.NET MVCを使用している場合は、web.configに次を追加します。

<?xml version="1.0"?>
<configuration>
    <system.webServer>
        <modules runAllManagedModulesForAllRequests="true" />
    </system.webServer>
</configuration>
于 2011-02-06T20:59:06.080 に答える
15

これは、IIS 6と7.x、および.NET 2、3、4.xでも同じように動作することに注意してください。

また、app_offline.htmが存在する場合、IISは次のhttpステータスコードを返すことに注意してください。

HTTP/1.1 503 Service Unavailable

これはすべて仕様によるものです。これにより、ロードバランサー(またはその他)はサーバーがオフラインであることを確認できます。

于 2012-04-30T17:54:12.293 に答える
10

許可の問題の可能性

この投稿はかなり古いことは知っていますが、同様の問題が発生し、ファイルのスペルが正しくなりました。

最初にapp_offline.htmファイルを別の場所に作成してから、それをアプリケーションのルートに移動しました。セットアップが原因で、権限の問題が発生しました。

ウェブサイトはあたかもそこにないかのように振る舞いました。ファイルを移動する代わりにルートディレクトリ内に作成すると、問題が修正されました。(または、プロパティ->セキュリティで権限を修正することもできます)

それが誰かを助けることを願っています。

于 2011-12-19T14:51:36.420 に答える
4

app_offline.htmそれがIISの仮想ディレクトリまたはWebサイトのルートにある ことを確認してください。

于 2009-07-20T13:09:26.480 に答える
4

ファイル名拡張子がエクスプローラーに表示され、ファイル名が実際に表示されていることを確認してください

app_offline.htm

いいえ

app_offline.htm.htm

于 2017-03-05T02:42:46.563 に答える
1

元の質問と非常によく似た問題が発生し、解決に少し時間がかかりました。

他の誰かがMVCアプリケーションで作業していて、このスレッドへの道を見つけた場合に備えて、適切な.Netaspnet_isapi.dllへのワイルドカードマッピングが定義されていることを確認してください。これを行うとすぐに、app_offline.htmは期待どおりに動作し始めました。


IIS6の構成手順

[IISアプリケーションのプロパティ]で、[仮想ディレクトリ]タブを選択します。

[アプリケーション設定]で、[構成]ボタンをクリックします。

[ワイルドカードアプリケーションマップ]で、[挿入]ボタンをクリックします。

C:\ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_isapi.dllと入力し、[OK]をクリックします。

于 2015-02-12T19:45:13.973 に答える