相关疑难解决方法(0)

Web API动作过滤器 - Controller.TempData等效?

在我的System.Web.Mvc Action过滤器中,我以前使用TempData来存储我的unitOfWork服务的实例,如下所示:

public override void OnActionExecuting(ActionExecutingContext filterContext)
{
    filterContext.Controller.TempData[UnitOfWorkRequestKey] = UnitOfWork;
    UnitOfWork.Begin();
}
Run Code Online (Sandbox Code Playgroud)

然后提交事务我从像这样的临时数据中检索它.

public override void OnActionExecuted(ActionExecutedContext filterContext)
{
    var unitOfWork = (IUnitOfWork)filterContext.Controller.TempData[UnitOfWorkRequestKey];
    try
    {
        if (filterContext.Exception == null)
        {
            unitOfWork.Complete();
        }
    }
    finally
    {
        unitOfWork.Dispose();
        filterContext.Controller.TempData[UnitOfWorkRequestKey] = null;
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:
System.Web.HttpWeb Api Action Filter(使用HttpActionContext)中 - 是否有一个等效的位置来存储我的服务实例,所以我可以在执行该操作时检索相同的实例?

c# asp.net-mvc-4 asp.net-web-api

4
推荐指数
1
解决办法
9585
查看次数

标签 统计

asp.net-mvc-4 ×1

asp.net-web-api ×1

c# ×1