405上未调用异常过滤器和处理程序

时间:2014-07-21 14:56:26

标签: asp.net-web-api asp.net-web-api2

在我的WebApi应用程序中,我有一个异常过滤器

    config.Filters.Add(New AppExceptionFilterAttribute)

过滤器只是将异常重新格式化为我更喜欢的格式。当出现应用程序错误时,此工作正常。但今天我得到了一个我以前没见过的错误,405,由于某种原因,过滤器根本就没有被调用。

我尝试添加一个全局异常处理程序:

    config.Services.Replace(GetType(ExceptionHandling.IExceptionHandler), New AppExceptionHandler())

但这也没有被称为!似乎当我得到405时,WebApi坚持处理这个本身,而不是调用我的过滤器或我的处理程序,所以我不能按照我想要的方式重新格式化异常,这真的很烦人。

如何挂钩405错误?

1 个答案:

答案 0 :(得分:0)

Web Api中的异常处理针对unhandled例外,因此不会考虑404 Not Found405 Method Not Allowed等响应。