1

我正在使用 MVC4 开发一个 Web 应用程序,发现这种方法非常有用:

class Controller
{
    protected virtual void OnActionExecuted(ActionExecutedContext filterContext);
}

这允许我调用UnitOfWork.SubmitChanges();Transaction.Rollback();其他仅在处理请求并且对数据库的更改待处理后才需要调用的好东西。

当我开始工作时,ApiController我没有找到那个有用的方法。

如何在我的 web-api 控制器上检测到 http 请求的结束?

4

1 回答 1

3

您可以ActionFilterAttribute为 ApiController 制作一个。

 public class JsonpAttribute : ActionFilterAttribute
    {
        public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
        {
            //Logic
        }
    }

在你的控制器中:

[Jsonp]
public class testcontroller : ApiController

请注意,Web Api 使用System.Web.Http.Filters,而 MVC4 使用System.Web.Mvc

于 2013-03-29T07:30:10.427 回答