ASP.NET MVC HandleError, не работающий (customErrors установлен на “На”),

Если вы используете CocoaPods , просто следуйте инструкциям Роба, но вместо этого используйте файл .xcworkspace и не удаляйте файл .xcworkspacedata .

14
задан swilliams 15 June 2009 в 22:55
поделиться

4 ответа

This tends to happen if there is a problem processing the error page.. if you debug the app, right after the initial exception you'll problem hit another (exception from the error page).. I had this happening and the reason for me was because I had a strongly typed master page, the error page was using this master page, and because the masterpage shares the same model as the actual page, the master page was getting a HandlerErrorInfo model, instead of the typed model I expected..

Personally I think this is a poor design in the asp.net mvc (along with the rest of it), but you can get around this easy enough by not using the same master page (you could even do masterpage inheritance where you have an inherited strongly typed master page that purely inherits the layer from the untyped one..

Otherwise this is some sort of exception happening in the error view.. (most likely).

19
ответ дан 1 December 2019 в 10:19
поделиться

Другой причиной этой проблемы может быть

В приложении Template MVC (сгенерированном VS2008 / VS2008 Express) Error.aspx (сгенерированный VS) использует главную страницу.

Если главная страница обращается к любому ViewData, она выдаст исключение с нулевой ссылкой, тогда error.aspx не будет отображаться.

Используйте этот простой код как свой Error.aspx, он решит проблему (вместе с CustomErrors = On)

<%@ Page Language="C#"  Inherits="System.Web.Mvc.ViewPage<System.Web.Mvc.HandleErrorInfo>" %>
<%= Model.Exception.Message %>
2
ответ дан 1 December 2019 в 10:19
поделиться

После долгих попыток я обнаружил, что моя проблема попадает в общую категорию «выдача исключения из кода только для того, чтобы вызвать другую ошибку при рендеринге представления ошибок». Ранее я написал строго типизированную страницу с ошибкой, ожидающую System.Exception, а затем, когда я переключился на использование атрибута [HandleError], фильтр передавал странице ошибки System.HandleErrorInfo. Второе исключение произошло в этой строке (в Default.aspx.cs):

httpHandler.ProcessRequest(HttpContext.Current);

Непонятно.

0
ответ дан 1 December 2019 в 10:19
поделиться

У меня была такая же проблема, и после расследования я обнаружил, что обновлял файл web.Debug.config под web.config.

Затем я создал тег CustomErrors в файле web.config, и у меня все заработало.

1
ответ дан 1 December 2019 в 10:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: