我知道Web API有一些过滤器可以让我在控制器运行之前运行一些逻辑(如果我装饰控制器)以及委托处理程序,这些处理程序可以让我在请求和响应上插入请求/响应管道。 / p>
我的问题是,在控制器运行后,我可以运行自定义逻辑,并使用方法修饰来指示哪些控制器受到影响。
像这样的东西
[HttpPost]
[WillRunAfterControllerHasRun]
public Domain.Codelink.CodeLink Add(Domain.Codelink.CodeLink newItem)
{
var rtrn = Mapper.Map<Domain.Codelink.CodeLink>(repo.Insert(Mapper.Map<EF.Codelink.CodeLink>(newItem)));
return (rtrn);
}
谢谢!
答案 0 :(得分:0)
您必须使用相同的操作过滤器,但不要覆盖OnActionExecuting
(在控制器之前发生),而是覆盖OnActionExecuted
public class PostControllerAttrbute: ActionFilterAttribute
{
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
//things...
base.OnActionExecuted(actionExecutedContext);
}
}