Wird die filterContext.ExceptionHandled-Eigenschaft jemals von MVC auf "true" gesetzt oder ist sie nur auf "true" gesetzt? Wenn ja, wo passiert das?MVC - filterContext.ExceptionHandled
6
A
Antwort
5
filterContext.ExceptionHandled
wird auf true gesetzt, wenn eine Ausnahme von einer Aktionsmethode ausgelöst wird. In der Standardeinstellung wurde HandleErrorAttribute
in FilterConfig
Klasse hinzugefügt, die in Application_Start()
registriert ist. Wenn eine Ausnahme auftritt, wird die OnException
-Methode in HandleErrorAttribute
Klasse aufgerufen.
In der Methode OnException
wird die ExceptionHandled
-Eigenschaft vor dem Entfernen des aktuellen HTTP-Antworthauptteils mithilfe von Response.Clear()
auf true festgelegt.
Unten ist die Standard OnException Methode:
public virtual void OnException(ExceptionContext filterContext)
{
if (filterContext == null)
{
throw new ArgumentNullException("filterContext");
}
if (filterContext.IsChildAction)
{
return;
}
if (filterContext.ExceptionHandled || !filterContext.HttpContext.IsCustomErrorEnabled)
{
return;
}
Exception exception = filterContext.Exception;
if (new HttpException(null, exception).GetHttpCode() != 500)
{
return;
}
if (!ExceptionType.IsInstanceOfType(exception))
{
return;
}
string controllerName = (string)filterContext.RouteData.Values["controller"];
string actionName = (string)filterContext.RouteData.Values["action"];
HandleErrorInfo model = new HandleErrorInfo(filterContext.Exception, controllerName, actionName);
filterContext.Result = new ViewResult
{
ViewName = View,
MasterName = Master,
ViewData = new ViewDataDictionary<HandleErrorInfo>(model),
TempData = filterContext.Controller.TempData
};
filterContext.ExceptionHandled = true;
filterContext.HttpContext.Response.Clear();
filterContext.HttpContext.Response.StatusCode = 500;
filterContext.HttpContext.Response.TrySkipIisCustomErrors = true;
}
Verwandte Themen
- 1. ASP.NET MVC Rückkehr Viewresult
- 2. Wie ajax Ausnahme mit MVC und angularjs verarbeiten?
- 3. Wie vermeidet man, dass MVC ExceptionContext.Result zurücksetzt?
- 4. Ausnahme nicht durch ErrorHanldeAttribute oder OnException Methode in ASP.NET MVC behandelt wird 5
- 5. Ausnahmebehandlung in ASP.NET MVC und Ajax - [Handle] filtern
- 6. ASP.NET MVC Handhabung RequestValidationException im Bereich
- 7. MVC Mehrere Bereiche MVC 3
- 8. ASP.NET MVC Helfer, MVC Version unabhängig
- 9. Ruft OWIN noch MVC (ASP.NET MVC) auf?
- 10. Frühling 3.0 MVC mvc: View-Controller-Tag
- 11. Caching mit Spring MVC mvc: Ressourcen-Tag
- 12. -Test ASP.NET MVC Routen MVC Contrib mit
- 13. Etat HTTP 404 - /mvc/traitementTwo.jsp - spring mvc
- 14. ASP.NET MVC: So erstellen Sie ViewData für einen Ausnahmefilter
- 15. MVC FormsCollection
- 16. Mvc Html.ActionButton
- 17. MVC Routenparameter
- 18. MVC RedirectResult
- 19. MVC-Validierungsattribut
- 20. MVC Standardseite
- 21. asp.net MVC
- 22. - ASP.NET MVC
- 23. Zuweisungsmodell (MVC)?
- 24. MVC Vollbild
- 25. Spring MVC
- 26. MVC & Radiobuttonlist
- 27. MVC Spezifikation
- 28. MVC-Erweiterungsmethode
- 29. MVC-Umleitungsproblem
- 30. MVC + Templates
Haben Sie eine Quelle für „filterContext.ExceptionHandled auf true gesetzt werden, wenn eine Ausnahme durch eine Aktion-Methode ausgelöst wird“? – heymega