Dependency injection 为MVC 5、SignlaR、NServiceBus中的Autofac组件选择正确的寿命范围
我试图了解如何在MVC 5应用程序中正确地向Autofac注册组件和依赖项,该应用程序还使用以下功能:Dependency injection 为MVC 5、SignlaR、NServiceBus中的Autofac组件选择正确的寿命范围,dependency-injection,asp.net-mvc-5,signalr,autofac,hangfire,Dependency Injection,Asp.net Mvc 5,Signalr,Autofac,Hangfire,我试图了解如何在MVC 5应用程序中正确地向Autofac注册组件和依赖项,该应用程序还使用以下功能: 应用服务(计费服务等) Hangfire(有一个Hangfire.Autofac集成包) 信号器(有一个Autofac.signal集成包) NServiceBus(有一个NServiceBus.Autofac集成包) Quartz.NET(有一个Quartz.Autofac集成包) 实体框架(上述所有内容可能需要也可能不需要DbContext注入) 虽然我理解,例如,builder.Regi
builder.RegisterType().InstancePerRequest()
在按请求使用并注入MVC控制器时的用途,但我不清楚其他组件需要如何注册
我在OWIN startup.cs类中注册的MVC容器具有:
var resolver = new Autofac.Integration.Mvc.AutofacDependencyResolver( container );
DependencyResolver.SetResolver( resolver );
我有一个额外的用于Signal的Autofac容器,因为否则它将无法工作
所以问题就归结为:我应该用什么生命周期范围注册一个由MVC控制器、信号集线器、NServiceBus消息处理程序和一些应用程序服务同时使用的MyDbContext?
将MyDbContext
注册为.InstancePerRequest()
就足够了吗?还是有必要拥有多个容器,这样,我应该向每个容器注册MyDbContext
我是Autofac的新手,因此我不知道如何控制这些组件的处置、重新创建等
多谢各位