Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net web api 在某些控制器Web API之后运行方法_Asp.net Web Api - Fatal编程技术网

Asp.net web api 在某些控制器Web API之后运行方法

Asp.net web api 在某些控制器Web API之后运行方法,asp.net-web-api,Asp.net Web Api,我知道WebAPI有一些过滤器,可以让我在控制器运行之前运行一些逻辑(如果我装饰控制器),还有一些委托处理程序,可以让我插入请求和响应的请求/响应管道 我的问题是,有一些东西可以让我在控制器运行后运行自定义逻辑,并使用方法装饰来指示哪些控制器受到影响 像这样的 [HttpPost] [WillRunAfterControllerHasRun] public Domain.Codelink.CodeLink Add(Domain.Codelink.CodeLink newI

我知道WebAPI有一些过滤器,可以让我在控制器运行之前运行一些逻辑(如果我装饰控制器),还有一些委托处理程序,可以让我插入请求和响应的请求/响应管道

我的问题是,有一些东西可以让我在控制器运行后运行自定义逻辑,并使用方法装饰来指示哪些控制器受到影响

像这样的

    [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);
    }
[HttpPost]
[WillRunAfterControllerHasRun]
public Domain.Codelink.Codelink添加(Domain.Codelink.Codelink新项目)
{
var rtrn=Mapper.Map(repo.Insert(Mapper.Map(newItem));
返回(rtrn);
}

谢谢

您必须使用相同的ActionFilters,但不是覆盖
OnActionExecuting
(发生在控制器之前),而是覆盖
OnActionExecuted

public class PostControllerAttrbute: ActionFilterAttribute
{        

    public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
    {
        //things...

        base.OnActionExecuted(actionExecutedContext);
    }
}