我可以在格式化程序处理之前修改响应内容吗?

时间:2014-11-08 18:10:29

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

我有一个ASP.NET Web Api 2.2项目,我想从所有控制器获取响应并将其包装在带有一些元数据的包装器对象中。然后我想我的自定义媒体类型格式化程序(特别是我的自定义JsonMediaTypeFormatter)使用额外的元数据来进行一些自定义序列化。

我尝试创建一个DelegationHandler来进行包装,但这发生在管道中的格式化程序之后。是否有另一种方法来拦截来自所有控制器操作的响应,将响应包装在另一个对象中,然后让自定义JsonMediaTypeFormatter处理它?<​​/ p>

1 个答案:

答案 0 :(得分:2)

您是否尝试过使用ActionFilterAttribute,您可以使用actionContext覆盖OnActionExecuting / OnActionExecuted方法来处理/生成操作响应。

查看this好文章。

另请查看this问题。

希望有所帮助。