Credo di aver impostato la nostra app MVC per utilizzare correttamente [HandleError]
. Questo è il mio controller:ASP.NET MVC HandleError non funziona (customErrors è impostato su "On")
[HandleError]
public class SupportController : BaseController {
public ActionResult Toss() {
throw new Exception("uh oh");
}
// snip
}
E io hanno impostare il mio tag customErrors
in web.config
su "On":
<customErrors mode="On"></customErrors>
Tuttavia, ancora sto ottenendo lo schermo giallo della morte sulle eccezioni. L'impostazione di un punto di interruzione nell'azione Toss()
mostra che HttpContext.IsCustomErrorEnabled
è impostato su su true.
Non stiamo facendo nulla con il motore di visualizzazione, e il BaseController
non ha problemi con nessuno (e altri controller che non lo estendono hanno lo stesso problema).
Sto sviluppando su Windows XP e ho lo stesso problema quando l'app viene distribuita su un server 2003 box (IIS 6).
Non credo che ci sia un'eccezione sulla pagina 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>
Una cosa che può essere diverso è che questa applicazione è stato creato indietro quando MVC Beta è la versione più recente, ed è stato aggiornato alla RC e poi RTM come sono stati rilasciati. Potevano esserci stati degli assurdi ambienti che sono rimasti da lì?
Posso farlo funzionare su altre app, quindi sono un po 'sconcertato.
La tua pagina error.aspx in ~ \ Views \ Support o ~ \ Views \ Shared? – Talljoe
~ \ Views \ Shared - even tried [HandleError (View = "~/Views/Shared/Error.aspx")] (non ha funzionato) – swilliams