我想记录来自请求的传入json数据和作为响应的传出json。

经过一番搜索,我注意到自定义的ActionAttributeFilter和DelegatingHandler都可以使用。
它们有什么优点/缺点吗?

最佳答案

优点/缺点取决于您的需要。

委托(delegate)处理程序在Web API请求处理的层次结构中比ActionAttributeFilter高得多。如果实现了Delegating Handler,则创建的是消息处理程序,而如果创建Action过滤器,则创建的过滤器将在管道中的action方法之前运行。

尽管消息处理程序在管道中运行得较早,但是在处理消息时可能是有利的
尽早请求。消息处理程序针对路由的所有操作方法或至少所有操作方法运行。选择消息处理程序以解决问题时,应考虑这一点。可以将 Action 过滤器应用于单个 Action 方法, Controller 中的所有方法或跨所有 Controller 的所有方法,方法是:
将过滤器配置为全局过滤器。

关于asp.net-web-api2 - ActionAttributeFilter与Delegatinghandler-优点/缺点?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23825505/

10-10 22:28