0

ASP.NET アプリケーションに次の customErrors セクションがあります。

<customErrors mode="RemoteOnly">
   <error statusCode="500" redirect="500.aspx"/>
</customErrors>

"500.aspx" でエラーが発生した場合 (データベースがダウンしている場合などに発生する可能性があります)、ユーザー フレンドリなメッセージを表示するにはどうすればよいですか?

4

2 に答える 2

1

この問題を回避するには、静的ページ (500.html など) を使用できます。

応答共同コメント:

「500.aspx」が機能しない場合にのみ、静的ページを使用したいと考えています。

500.aspx が機能するかどうかを確認する唯一の確実な方法は、試してみることです。したがって、この場合、customErrorsweb.config の要素で 500.aspx を定義し、global.asax で 500.aspx の特定のケースを処理できます。

void Application_Error(object sender, EventArgs e)
{
    HttpException httpException = Server.GetLastError() as HttpException;
    if (httpException == null) return;
    int httpCode = httpException.GetHttpCode();
    if (httpCode == 500 && 
        Request.Path.EndsWith("/500.aspx", StringComparison.OrdinalIgnoreCase))
    {
        Server.ClearError();
        Response.Redirect("~/500.htm");
    }
}
于 2012-10-08T06:41:52.973 に答える
0

エラーページを1つ作成し、常にユーザーがそこに到達できるようにする場合。または、各statusCodeに特定のページが必要ですか?必要に応じて、特定のエラーについて通知するメールメソッドを追加することもできます。

于 2012-10-08T06:32:39.847 に答える