我的全局异常处理程序没有捕获所有异常

时间:2017-08-23 07:41:50

标签: c# asp.net-web-api2

我正在使用Web Api并且正在尝试创建一个全局异常处理程序。

我已经创建了以下处理程序,但是它没有捕获一些例外。我在Handle方法中设置了一个断点并且它甚至没有被调用。我猜测Web API中的某些内容是首先捕获异常。

例如,创建了以下内容。我想捕获这个异常,以便我可以以我的API的其余部分所遵循的格式返回它:

{ "Message": "The request is invalid.", "MessageDetail": "The parameters dictionary contains a null entry for parameter 'personId' of non-nullable type 'System.Int32' for method 'System.Web.Http.IHttpActionResult GetPersonById(System.String, Int32)' in 'Pasco.Middleware.WebApi.Controllers.PersonController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter." }

我的Global.asax

GlobalConfiguration.Configuration.Services.Replace(typeof(IExceptionHandler), new WebApiCoreExceptionHandler());

我的处理程序(剪辑):

public class WebApiCoreExceptionHandler : ExceptionHandler
{
    private static ILog logger = LogManager.GetLogger(typeof(WebApiCoreExceptionHandler));

    public override void Handle(ExceptionHandlerContext context)

我错过了什么?

0 个答案:

没有答案