ASP.NET 4アプリケーションのカスタム エラー ページを作成しました。例外オブジェクトを入れましたHttpContext.current.Session["CustomError"]
が、ユーザーがエラーページにリダイレクトされたときHttpContext.current.Session["CustomError"]
はnullです。私は次のように CustomError クラスのコンストラクターでそれを行います。
public CustomError(enExceptionType ExceptionType) : base(ExceptionMessage(ExceptionType)) {
HttpContext.Current.Session["CustomError"] = this;
}
コードをステップ オーバーすると、Session["Error"] にエラー オブジェクトが含まれます。何か案が?
アップデート:
web.config からカスタム エラー ページを削除し、これを glabal.asax に追加しました。
void Application_Error(object sender, EventArgs e)
{
if (Context.IsCustomErrorEnabled)
{
Response.Redirect("~/Error.aspx");
}
}
この関数をステップ実行すると、例外がスローされたときにこの関数が 2 回呼び出されることに気付きました。1 回目は Session["CustiomError"] にエラー オブジェクトが含まれていますが、2 回目は null です。