| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка под ASP.NET > Как из global.asax передать Exception |
| Автор: ru_efim 6.8.2009, 10:39 |
| Здравствуйте. Имею код в global.asax.cs: protected void Application_Error(Object sender, EventArgs e) { try { Exception lastError = Server.GetLastError(); if (lastError != null) { //Записываем непосредственно исключение, вызвавшее данное, в //Session для дальнейшего использования Session["ErrorException"] = lastError.InnerException; } } catch (Exception) { Response.Write("К сожалению произошла критическая ошибка. Нажмите кнопку ?Назад? в браузере и попробуйте ещё раз."); } } в error.aspx.cs: private void Page_Load(object sender, System.EventArgs e) { try { // возьмем информацию об исключении из сессии Exception exc=(Exception)Session["ErrorException"]; ... } } web.config: <customErrors mode="On" defaultRedirect="Problems.aspx"></customErrors> Многие так советуют, и у меня все работает правильно. Если происходит ошибка выполняется метод protected void Application_Error(Object sender, EventArgs e) и в переменной Session["ErrorException"] с помощью lastError.InnerException сохраняется именно то что и необходимо, происходит перенаправление на старницу error.aspx, но по какой-то причине метод (Exception)Session["ErrorException"] всегда возвращает null. Что я не учел? Как передать объект Expection в error.aspx. |
| Автор: Bestoloch 6.8.2009, 14:05 | ||
Попробуйте использовать
|
| Автор: ru_efim 7.8.2009, 08:21 |
| Дак я так ведь и делаю |