1

したがって、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 からスローされるエラーもある可能性があると思います。しかし、すべてのアプリケーションの開始コードをコメントアウトすると、エラーが発生しますが、エラー ページにリダイレクトされることはありません。

4

1 に答える 1

0

このリンクが役立つかもしれません: Exceptional Gotchas! . さらに、web.config ファイルを使用して、エラーの既定のリダイレクト ページを定義します。

于 2010-01-09T02:07:11.597 に答える