在ASP.NET MVC3应用程序中,我的控制器将使用一组BL"管理器"类,这些类又将使用存储库。这些存储库依赖于EF DbContext实例来执行其职责。
我计划配置IoC容器,以以下方式(在数据模块中)进行依赖项注入
Bind<StoreContext>().ToSelf().InRequestScope();
Bind<ICatUserRepository>().To<GenericUserRepository>().InRequestScope();
1是CCD_ 2。它是注入到GenericUserRepository
中的构造函数。这样,我想,在PerRequest中实例化我的DbContext的规则将保持满足,对吧?
ICatUserRepository
是在请求范围级别上解析的,IoC容器在解析了GenericUserRepository
的依赖关系以进行构造函数注入后,将在此时(对于每个请求)创建一个新的CCD_5实例。
解析StoreContext
依赖关系意味着IoC容器将通过StoreContext
的绑定,检查当前请求是否已经有StoreContext
的现有实例,如果没有,则创建一个新的副本以注入-在您的情况下,这意味着您为每个新请求都获得一个StoreContext
的新实例。