有没有办法在使用属性或C#中的替代方法在WebAPI调用之后运行某些东西?

时间:2015-09-29 14:50:07

标签: c# asp.net-web-api aop

我想在Web API调用发生后运行特定代码。我也想知道它的输入和输出,所以我可以弄清楚我想在这个过程中做什么

e.g

public TestController : ApiController {

  [Route("test/{testId}")]
  [RunAfter(testId, test)]
  public void updateTest(int testId, [FromBody] Test test){

  }
}

如果在网络API呼叫后无法使用属性。在使用WebAPI的同时执行此操作的正确方法是什么?我想尽可能避免在控制器方法中调用这些过程函数。

由于

1 个答案:

答案 0 :(得分:3)

您只需从该类派生即可创建自己的ActionFilterAttribute

然后,你可以override OnActionExecuted方法,你应该全部设置。

here for documentation。请注意,有两个ActionFilterAttributes具有不同的命名空间,一个用于MVC,一个用于WebAPI。