我有一个ActionFilterAttribute
用于记录请求的 WebApi2 项目。该过滤器在 webapiconfig 中定义为全局过滤器,并按预期根据请求调用。问题是,当 OData 抛出异常时(例如使用“$filter=a”调用它时),异常OnActionExecuted
为空(当我明确抛出异常时,它确实按预期给出了异常)。
我还有一个 RESTier 项目,其中异常通过并且不为空。所以我知道这是可以做到的。而且我确实使用了System.Web.Http.Filters
命名空间,所以我认为使用错误的过滤器不会有问题。
我试图ExceptionFilterAttribute
摆脱它,ActionFilterAttribute
但它只是没有被调用。我还检查了未在有效的项目和无效但似乎找不到的项目之间排列的 packageversions。
这是预期的行为吗?如果可以,可以覆盖吗?为什么它似乎在 RESTier 项目中起作用?