【发布时间】:2016-02-12 19:29:28
【问题描述】:
asp.net mvc中有一个过滤器叫ResultFilter,wep api中有没有对应asp.net mvc的Result filter的过滤器?或者我如何编写一个在每个 api 控制器方法的 return 语句之前运行的过滤器?
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-web-api
asp.net mvc中有一个过滤器叫ResultFilter,wep api中有没有对应asp.net mvc的Result filter的过滤器?或者我如何编写一个在每个 api 控制器方法的 return 语句之前运行的过滤器?
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-web-api
或者我如何编写一个在 return 语句之前运行的过滤器 每个 api 控制器方法?
除非您可以进行 IL 编织(即在编译后注入 IL),否则在 return 语句之前无法进行任何操作。
您正在寻找的是 ActionFilterAttribute,它具有 before 和 after 虚拟方法风格,可以在 API 控制器操作开始之前覆盖和提供行为执行和已经执行之后。
最后,您还可以实现自定义 IHttpActionResult 来自定义/构建 HTTP 响应。
【讨论】: