Stack,Owin WebApi-Dienst ignoriert ExceptionFilter
Aus irgendeinem Grund ignoriert mein Owin WebApi-Dienst unseren benutzerdefinierten Ausnahmebehandler. Ich befolge die Dokumentation für asp.net exception handling. Hier sind die vereinfachten Implementierungsdetails (geschrubbtes firmeneigenes Zeug).
Können Sie jemand darauf hinweisen, was ich mit Blick auf?
Benutzerdefinierte Ausnahmefilter:
public class CustomExceptionFilter : ExceptionFilterAttribute
{
public override void OnException(HttpActionExecutedContext actionExecutedContext)
{
actionExecutedContext.Response.StatusCode = HttpStatusCode.NotFound;
actionExecutedContext.Response.Content = new StringContent("...my custom business...message...here...");
}
}
Während der Inbetriebnahme:
var filter = new CustomExceptionFilter();
config.Filters.Add(filter);
appBuilder.UseWebApi(config);
Test-Controller:
[CustomExceptionFilter]
public class TestController: ApiController
{
public void Get()
{
throw new Exception(); // This is a simplification.
// This is really thrown in buried
// under layers of implementation details
// used by the controller.
}
}
Ich habe ein Projekt, das genau dieses Muster der Fall ist, mit Ausnahme der OnException die Antwort zu ändern, 'ich neue HttpResponseException (neu HttpResponseMessage werfen (...'anstatt den' actionExecutedContext' zu modifizieren. –