Я создал пользовательскую страницу ошибки для моего 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"] содержит объект ошибки.
есть идеи?
UPDATE:
Я удалил пользовательскую страницу ошибки из web.config и добавил ее в glabal.asax:
void Application_Error(object sender, EventArgs e)
{
if (Context.IsCustomErrorEnabled)
{
Response.Redirect("~/Error.aspx");
}
}
пошагово пройдя через эту функцию, я заметил, что когда генерируется исключение, эта функция вызывается два раза, в первый раз Session ["CustiomError"] содержит объект ошибки, но во второй раз его значение равно null.