Ninject" InRequestScope()"不工作

时间:2016-11-11 15:27:47

标签: asp.net-mvc dependency-injection ninject unit-of-work

我正在使用Entity Framework + Repositories + UnitOfWork层,服务层和Web表示层运行MVC5应用程序。 Ninject用于解析依赖关系,服务绑定都在单独的模块中,如下所示

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

        Bind<ICategoriesService>().To<CategoriesService>();
        .
        .
        other bindings...
    }
}

问题在于,对于需要2个以上服务的请求,每个服务都创建了另一个unitOfWork,尽管&#34; InRequestScope&#34;但是当我切换到:

Bind<IUnitOfWork>().To<EfUnitOfWork>().InScope(c => System.Web.HttpContext.Current);

Everythings完美运行,只创建了一个unitOfWork实例来处理请求。 什么可能是错的?

0 个答案:

没有答案