17

asp.net Web サイトで生成された 503 エラーのカスタマイズされたエラー ページを送信する必要があります。アプリケーション プールをオフにし (機能しない)、アプリケーションを要求であふれさせることで、この状態をシミュレートしようとしました。IIS からデフォルトの 503 エラー ページが送信され、IIS と ASP.NET でこのエラー コードのカスタム URL を設定しようとしても、デフォルトの 503 エラー ページが返されます。

IIS が送信するデフォルトの 503 エラー ページがどこに保存されているかも教えていただければ幸いです。

4

4 に答える 4

12

同じ問題に遭遇しましたが、.NET アプリケーションでクラシック ASP 保持ページを使用してこれを機能させることができました (apsx でも同じように機能するかどうかはわかりません)。

  1. IIS でクラシック ASP が有効になっていることを確認します。読む価値があります: http://blogs.iis.net/bills/archive/2007/05/21/tips-for-classic-asp-developers-on-iis7.aspx

  2. Offline.aspという従来の ASP ファイルを作成し、次の内容で Web サイトのルートに配置します。

    <%
    
    Response.Status = "503 Service Unavailable"
    Response.CacheControl = "no-cache"
    Response.AddHeader "Pragma", "no-cache"
    Response.Expires = -1
    
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
            <meta name="robots" content="noindex,nofollow" />
            <title>Sorry, we're down for essential maintenance</title>
        </head>
        <body><h1>Sorry, we're down for essential maintenance</h1></body>
    </html>
    
  3. IIS7 Manager でエラー ページの管理セクションに移動し、次のようにカスタム エラー ページを追加します。

    エラーページ

    カスタム エラー ページの追加

    エラーページ

IIS が 503 を受信するたびに、Offline.asp の内容と 503 コードをブラウザーに送信します (これは、検索エンジンがエラー ページを一覧表示しないようにするために重要です!)

アプリケーションをオフラインにしたい場合は、すべてを Offline.asp にリダイレクトする単純なリダイレクト ルールを設定するだけです。

于 2011-02-10T11:36:56.917 に答える
10

デフォルトの 503 Service Unavailable エラー メッセージはカスタマイズできません。これは通常、アプリ プールが何らかの理由で使用できない場合に返されます。

それがいつ発生するかについてのこの説明は、それが http.sys から直接発生したことを示しており、インターネット上のすべてのものは変更できないことに同意しているようです。http.sys レジストリ設定を調べましたが、有用なものは何もありません。

http://technet.microsoft.com/en-us/library/cc781893(WS.10).aspx

于 2011-07-27T04:19:20.480 に答える
4

をご覧くださいHttpContext.Current.Response.TrySkipIisCustomErrors。ただの提案です。

于 2010-02-16T09:54:14.573 に答える
0

私が見る限り、エラー ページは %SystemDrive%\inetpub\custerr\<LANGUAGE-TAG>\<HTTP-CODE>.htm に保存されています。

iis7 mmc で Web サイトごとにカスタム エラー ページを構成できます。


編集

どうやら 503 の場合、 http.sysを通過する方法はありません。唯一の選択肢は、デフォルトの http 503 エラー メッセージを送信するか、tcp レベルで接続を終了することです。

于 2010-02-16T10:00:35.730 に答える