我为 Web API 实现了以下ActionFilter
属性:
-
LogRequest
:这会OnActionExecuted
方法中记录请求和响应。 -
ValidateModel
:这将验证模型并通过在 OnActionExecuting' 方法中设置Response
来返回BadRequest
。
现在的问题是 - 我们返回BadRequest
(从ValidateModel
属性)的请求没有被记录,因为OnActionExecuted
(LogRequest
属性)没有被触发。
有什么方法可以故意解雇OnActionExecuted
吗?
不要这么认为。一些选项:
- 根据您的要求,您可以实现用于日志记录的消息处理程序。
- 如果模型状态无效,则不执行操作逻辑,并在日志记录后在 OnActionExecute 中返回 BadRequest。
- 实现一个日志记录函数,并在需要它的任何位置调用它。
...