0

MVC4 アプリケーションでエラー 500 を処理するのに苦労しています。この投稿を検索して見つけました: ASP.NET MVC で 404 を適切に処理するにはどうすればよいですか?

そして、私はこのアプローチを実装しました: https://stackoverflow.com/a/7499406/2394172 (長く説明されたもの)

404 エラーは問題ありませんが、エラー 500 が表示されたときに、他のカスタム ページでエラーに関する情報を復元できません。

コントローラーに次のコードがあります。

public ActionResult ServerError()
{
    Response.StatusCode = (int)HttpStatusCode.InternalServerError;
    Response.TrySkipIisCustomErrors = true;

    ViewBag.Error = Server.GetLastError();
    return View();
}

Server.GetLastError()常に null を返します。どうすれば修正できますか、または他の方法で回復できますか?

4

2 に答える 2

1

コードを実際に見てからしばらく経ちました :blush: が、このコード行と関係があるのではないかと推測しています

基本的に、通常の ASP.NET パイプライン コードが再度エラーをスローしないように、エラーをクリアする必要があります。と思います

それが正しいコードであるかどうかにかかわらず..それがあなたが常に空である理由だと思います。GetLastError()

于 2013-06-12T23:47:37.090 に答える
0

ELMAHを使用して問題を解決しました。@Pure.Kromeがその質問に投稿したチュートリアルは、カスタムエラーページを作成するのに非常に役立ちましたが、例外をログに記録するために、ELMAHが私を救ってくれました.

于 2013-06-14T16:41:03.920 に答える