我在用于记录请求的WebApi2项目中有一个ActionFilterAttribute
。过滤器在webapiconfig中定义为全局过滤器,并按预期按请求调用。问题是,当OData抛出一个异常时(比如用" $ filter = a"调用它),OnActionExecuted
中的异常为空(当我明确地提出异常时,它确实给出了预期的例外情况。)
我还有一个RESTier项目,异常传递并且不为空。所以我知道可以做到。我确实使用System.Web.Http.Filters
命名空间,所以我不认为使用错误的过滤器会出现问题。
我尝试从ExceptionFilterAttribute
中制作ActionFilterAttribute
,但之后它就不会被调用。我还检查了包装转换没有排列在有效的项目和没有但不能找到任何项目的项目之间。
这是预期的行为,如果是这样,可以覆盖吗?为什么它似乎在RESTier项目中工作?