在使用 C# 中的属性或其他替代方法调用 WebAPI 后,有没有办法 运行 ?

Is there a way to run something after a WebAPI call using an Attribute or something alternative in C#?

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

例如

public TestController : ApiController {

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

  }
}

如果网络 api 调用后无法使用属性。仍然使用 WebAPI 的正确方法是什么?如果可能,我想避免在控制器方法中调用这些过程函数。

谢谢

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

然后,您可以 override OnActionExecuted 方法,您应该已经准备就绪。

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