2014-11-08 42 views
0

我有一个ASP.NET Web Api 2.2项目,我想从所有控制器获取响应,并用一些元数据将其包装在包装对象中。然后我想我的自定义媒体类型格式化程序(特别是我的自定义JsonMediaTypeFormatter)使用额外的元数据来做一些自定义序列化。我可以在格式化程序处理它之前修改响应内容吗?

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

回答

2

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

看看this好文章。

也看看this的问题。

希望有所帮助。

+0

谢谢。这正是我最终做的。 – 2014-11-09 14:41:07

相关问题