ASP.NET アプリケーションに次の customErrors セクションがあります。
<customErrors mode="RemoteOnly">
<error statusCode="500" redirect="500.aspx"/>
</customErrors>
"500.aspx" でエラーが発生した場合 (データベースがダウンしている場合などに発生する可能性があります)、ユーザー フレンドリなメッセージを表示するにはどうすればよいですか?
ASP.NET アプリケーションに次の customErrors セクションがあります。
<customErrors mode="RemoteOnly">
<error statusCode="500" redirect="500.aspx"/>
</customErrors>
"500.aspx" でエラーが発生した場合 (データベースがダウンしている場合などに発生する可能性があります)、ユーザー フレンドリなメッセージを表示するにはどうすればよいですか?
この問題を回避するには、静的ページ (500.html など) を使用できます。
応答共同コメント:
「500.aspx」が機能しない場合にのみ、静的ページを使用したいと考えています。
500.aspx が機能するかどうかを確認する唯一の確実な方法は、試してみることです。したがって、この場合、customErrors
web.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");
}
}
エラーページを1つ作成し、常にユーザーがそこに到達できるようにする場合。または、各statusCodeに特定のページが必要ですか?必要に応じて、特定のエラーについて通知するメールメソッドを追加することもできます。