Код: Выделить всё
Мы тестировали Error.aspx.cs, имея в файле Web.config флаг, который мы проверяем, а затем выдаем исключение, вызывая перенаправление на Error.aspx.
Теперь у нас также есть еще одна страница, предназначенная для мобильных устройств, в каталоге /Mobile с именем Default.aspx, и когда создается необработанное исключение, мы также ожидаем, что оно будет перенаправлено на Error.aspx, но оно вообще не перенаправляется. Мы добавили множество операторов журналирования, и поток никогда не перенаправляется с мобильной страницы.
Мы проверяем файл Web.config на мобильной странице, прежде чем выдавать исключение, и он имеет те же значения, что и обычная страница. У нас также есть Application_Error() в Global.asax.cs, который регистрирует сообщение об ошибке, и единственное, что у нас есть в Application_Error(), — это протоколирование сообщений.
Что-то мы делаем неправильно или что мы можем сделать, чтобы помочь нам выяснить, как перенаправить мобильную страницу для перенаправления на Error.aspx?
Вот пример файла журнала для мобильной страницы при возникновении исключения:
Код: Выделить всё
// Here we check to make sure throwErrorPage flag is set to True
Mobile.Default.aspx - (btn_Submit_Click) ThrowErrorPage is:True
// Here, we're writing out the values from the web.config
2026-01-21 10:18:33,659 [10] DEBUG OurApplication.Mobile.Default - Method: LogAsync
Mobile.Default.aspx - Mode:RemoteOnly, Default Redirect: /Error/Error.aspx, CustomErrors: StatusCode: 500, Redirect: /Error/ServerError.html;
// Here we're logging on the line before throwing the exception
2026-01-21 10:18:36,818 [10] DEBUG OurApplication.Mobile.Default - Method: LogAsync
Mobile.Default.aspx - (btn_Submit_Click) Throwing Exception
// And here, is where the exception is being thrown
2026-01-21 10:18:42,171 [10] ERROR OurApplication.Global - Method: LogAsync
Global_asax - Our Application - Unhandled Exception
Exception: System.InvalidOperationException: Cannot process data in the current state
at OurApplication.Mobile.Default.btn_Submit_Click(Object sender, EventArgs e) in C:\OurApplication\Mobile\Default.aspx.cs:line 174
Подробнее здесь: https://stackoverflow.com/questions/798 ... stomerrors
Мобильная версия