したがって、Global.asax には次のようなものがあります。
protected void Application_Error(object sender, System.EventArgs { Session["CustomError"] = Server.GetLastError(); Server.ClearError(); Response.Redirect("~/ErrorPage.aspx"); }
そして、ErrorPage.aspx は次のとおりです。
private void Page_Load(object sender, System.EventArgs e) { Exception currentException = ((Exception)Session["CustomError"]).InnerException;
// エラー メッセージを書き込みます if (currentException != null) txtErrorMessage.Text = currentException.Message;
// 内部例外をループします。currentException = (Exception)Session["CustomError"]; while (currentException != null) { message.Append(currentException.Message).Append("\r\n").Append(currentException.StackTrace); message.Append("\n========================================= ===\n"); currentException = currentException.InnerException; }
これは古い 1.0 コードであるため、3.5 の Global.asax ファイルに変換すると barfs されます。「セッション」が利用できず、リダイレクトできないこともわかりますか?? 問題の 1 つは、Application_Start からスローされるエラーもある可能性があると思います。しかし、すべてのアプリケーションの開始コードをコメントアウトすると、エラーが発生しますが、エラー ページにリダイレクトされることはありません。