Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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 mvc Ninject';s";在RequestScope()中;isn';行不通_Asp.net Mvc_Dependency Injection_Ninject_Unit Of Work - Fatal编程技术网

Asp.net mvc Ninject';s";在RequestScope()中;isn';行不通

Asp.net mvc Ninject';s";在RequestScope()中;isn';行不通,asp.net-mvc,dependency-injection,ninject,unit-of-work,Asp.net Mvc,Dependency Injection,Ninject,Unit Of Work,我正在运行带有实体框架+存储库+UnitOfWork层、服务层和Web表示层的MVC5应用程序。Ninject用于解决依赖关系,服务绑定都在下面列出的单独模块中 public class ServiceModule : NinjectModule { public override void Load() { Bind<IUnitOfWork>().To<EfUnitOfWork>().InRequestScope();

我正在运行带有实体框架+存储库+UnitOfWork层、服务层和Web表示层的MVC5应用程序。Ninject用于解决依赖关系,服务绑定都在下面列出的单独模块中

public class ServiceModule : NinjectModule
{
    public override void Load()
    {
        Bind<IUnitOfWork>().To<EfUnitOfWork>().InRequestScope();

        Bind<ICategoriesService>().To<CategoriesService>();
        .
        .
        other bindings...
    }
}
公共类服务模块:Ninject模块
{
公共覆盖无效负载()
{
Bind().To().InRequestScope();
绑定()到();
.
.
其他绑定。。。
}
}
问题在于,对于需要2+个服务的请求,每个服务都会创建另一个工作单元,尽管有“InRequestScope”,但当我切换到:

Bind<IUnitOfWork>().To<EfUnitOfWork>().InScope(c => System.Web.HttpContext.Current);
Bind().To().InScope(c=>System.Web.HttpContext.Current);
一切都很完美,只创建了一个unitOfWork实例来处理请求。 可能有什么问题