Мне кажется, я настроил наше приложение MVC для правильного использования [HandleError]
. Это мой контроллер:
[HandleError]
public class SupportController : BaseController {
public ActionResult Toss() {
throw new Exception("uh oh");
}
// snip
}
И у меня есть , установите для моего тега customErrors
в web.config
значение "Вкл.":
<customErrors mode="On"></customErrors>
Однако я все еще получаю Желтый Экран Смерти в Исключениях. Установка точки останова в моем действии Toss()
показывает, что HttpContext.IsCustomErrorEnabled
имеет значение true.
Мы ничего не делаем с View Engine, и BaseController
тоже ничего не связывает (и другие контроллеры, которые его не расширяют, имеют ту же проблему).
Я занимаюсь разработкой под Windows XP, и у меня возникает та же проблема при развертывании приложения на сервере 2003 (IIS 6).
Не думаю, что на странице error.aspx
есть исключение:
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<System.Web.Mvc.HandleErrorInfo>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="errorContent" ContentPlaceHolderID="MainContent" runat="server">
<h2>
Sorry, an error occurred while processing your request.
</h2>
</asp:Content>
Одна вещь, которая может отличаться, это то, что это приложение было создано еще тогда, когда MVC Beta была последней версией, и было обновлено до RC, а затем до RTM по мере их выпуска. Может быть, оттуда остались какие-то странные настройки?
Я могу заставить это работать в других приложениях, так что я немного сбит с толку.