C# 4.0 在Web APi中的每个操作后激发特定方法

C# 4.0 在Web APi中的每个操作后激发特定方法,c#-4.0,asp.net-web-api,C# 4.0,Asp.net Web Api,我正在写一个ASP.NETWebAPI 一旦操作被执行,我想调用一个方法 例如: public string Action1(object a) { // ... // call method1(); return "sample1"; } public string Action2(object b) { // ... // call method1(); return "sample2"; } 有没有一种方法可以在每

我正在写一个ASP.NETWebAPI

一旦操作被执行,我想调用一个方法

例如:

 public string Action1(object a)
 {
     // ...
     // call method1();
     return "sample1";
 }

 public string Action2(object b)
 {
     // ...
     // call method1();
     return "sample2";
 }

有没有一种方法可以在每个操作上调用
method1()
,而不在每个操作中提及?

您可以实现一个自定义
System.Web.Http.Filters.ActionFilterAttribute
并在
OnActionExecuted(…)中调用
method1()

然后,您可以在控制器上的操作上使用此
[MyActionFilter]
,或者将其添加到
WebApiConfig.cs
中的全局配置中:

        config.Filters.Add(new MyActionFilter());

我猜OP希望在操作执行后执行一段代码。因此,
actionExecuted
方法的
ActionFilterAttribute
更适合这里。@tugberk-thx用于更正。我已相应地更新了我的答案。
        config.Filters.Add(new MyActionFilter());