C# 4.0 在Web APi中的每个操作后激发特定方法
我正在写一个ASP.NETWebAPI 一旦操作被执行,我想调用一个方法 例如: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"; } 有没有一种方法可以在每
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());