Je crois que j'ai configuré notre application MVC pour utiliser correctement [HandleError]
. Ceci est mon contrôleur:ASP.NET MVC HandleError ne fonctionne pas (customErrors est défini sur "On")
[HandleError]
public class SupportController : BaseController {
public ActionResult Toss() {
throw new Exception("uh oh");
}
// snip
}
Et je ont mis mon tag customErrors
dans web.config
sur "On":
<customErrors mode="On"></customErrors>
Cependant, je reçois toujours l'écran jaune de la mort sur les exceptions. Définir un point d'arrêt dans mon action Toss()
montre que HttpContext.IsCustomErrorEnabled
est défini sur true.
Nous ne faisons rien avec le moteur de vue, et le BaseController
ne gâche rien avec quoi que ce soit (et d'autres contrôleurs qui ne l'étendent pas ont le même problème).
Je suis en développement sur Windows XP, et j'ai le même problème lorsque l'application est déployée dans une boîte de serveur 2003 (IIS 6).
Je ne pense pas qu'il y ait une exception sur la page 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>
Une chose qui peut être différent est que cette application a été créée en arrière quand MVC Beta a été la dernière version, et a été mis à niveau vers la RC puis RTM comme ils ont été libérés. Peut-être y a-t-il eu un peu de réglage kooky qui reste de là?
Je peux obtenir ce travail sur d'autres applications, donc je suis un peu déconcerté.
Votre page error.aspx est-elle dans ~ \ Views \ Support ou ~ \ Views \ Shared? – Talljoe
~ \ Views \ Shared - même essayé [HandleError (View = "~/Views/Shared/Error.aspx")] (ne fonctionnait pas) – swilliams