public void ProvidedLifetimeScopeExposed() { var container = new ContainerBuilder().Build(); var dependencyResolver = new AutofacDependencyResolver(container); Assert.Equal(container, dependencyResolver.LifetimeScope); }
public void CurrentPropertyExposesTheCorrectResolver() { var container = new ContainerBuilder().Build(); var resolver = new AutofacDependencyResolver(container); GlobalHost.DependencyResolver = resolver; Assert.Equal(GlobalHost.DependencyResolver, AutofacDependencyResolver.Current); }
public void GetServiceReturnsNullForUnregisteredService() { var container = new ContainerBuilder().Build(); var resolver = new AutofacDependencyResolver(container); var service = resolver.GetService(typeof(object)); Assert.Null(service); }
public void GetServiceReturnsRegisteredService() { var builder = new ContainerBuilder(); builder.Register(c => new object()); var container = builder.Build(); var resolver = new AutofacDependencyResolver(container); var service = resolver.GetService(typeof(object)); Assert.NotNull(service); }
public void AutofacResolveSingleInstance() { var builder = new ContainerBuilder(); var registered = new Registered(); builder.RegisterInstance(registered); var resolver = new AutofacDependencyResolver(builder.Build()); var resolved = (Registered) resolver.GetInstance(typeof (Registered)); Assert.That(resolved, Is.EqualTo(registered)); }
public void Resolve_SingleTypeParameter_Resolved() { var builder = new ContainerBuilder(); builder.RegisterType<InterfaceImplementationA>().As<IInterfaceToResolve>(); var container = builder.Build(); var theResolver = new AutofacDependencyResolver(container); Assert.IsType<InterfaceImplementationA>(theResolver.GetService(typeof (IInterfaceToResolve))); }
public void Resolve_MultipleFromTypeParameter_Resolved() { var builder = new ContainerBuilder(); builder.RegisterType<InterfaceImplementationA>().As<IInterfaceToResolve>(); builder.RegisterType<InterfaceImplementationB>().As<IInterfaceToResolve>(); var container = builder.Build(); var theResolver = new AutofacDependencyResolver(container); Assert.Equal(2, theResolver.GetServices(typeof(IInterfaceToResolve)).Count()); }
public void Run() { var builder = new ContainerBuilder(); ExecuteRegistrations(builder); var container = builder.Build(); _webApp = WebApp.Start(container.Resolve <IUrlProvider>().BackplaneUrl, app => { app.UseWelcomePage("/"); var config = new HttpConfiguration { DependencyResolver = new AutofacWebApiDependencyResolver(container), IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always }; config.MapHttpAttributeRoutes(); app.UseWebApi(config); var resolver = new AutofacDependencyResolver(container); #region signalr dance to enable hub constructor DI var connectionManager = resolver.Resolve <IConnectionManager>(); var updateBuilder = new ContainerBuilder(); updateBuilder.RegisterInstance(connectionManager).As <IConnectionManager>(); updateBuilder.Update(container.ComponentRegistry); #endregion app.MapSignalR(new HubConfiguration { Resolver = resolver, EnableDetailedErrors = true }); }); Observable.Interval(TimeSpan.FromSeconds(1)) .Subscribe(_ => container.Resolve <BackplaneController>().BroadcastTokenAvailabilty()); }
protected void Application_Start() { GlobalHost.DependencyResolver.UseRedis("127.0.0.1", 6379, string.Empty, "AgileR"); RouteTable.Routes.MapHubs(); AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); var builder = new ContainerBuilder(); builder.RegisterModule <AutofacWebTypesModule>(); builder.RegisterAssemblyModules(Assembly.GetExecutingAssembly()); var container = builder.Build(); var autofacDependencyResolver = new AutofacDependencyResolver(container); DependencyResolver.SetResolver(autofacDependencyResolver); var resolver = new AutofacWebApiDependencyResolver(container); GlobalConfiguration.Configuration.DependencyResolver = resolver; GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always; // Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type. // To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries. // For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712. //GlobalConfiguration.Configuration.EnableQuerySupport(); // To disable tracing in your application, please comment out or remove the following line of code // For more information, refer to: http://www.asp.net/web-api GlobalConfiguration.Configuration.EnableSystemDiagnosticsTracing(); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); RouteConfig.RegisterRoutes(RouteTable.Routes); log4net.Config.XmlConfigurator.Configure(); var builder = new ContainerBuilder();//把当前程序集中的 Controller 都注册,不要忘了.PropertiesAutowired() builder.RegisterControllers(typeof(MvcApplication).Assembly).PropertiesAutowired(); builder.RegisterApiControllers(typeof(MvcApplication).Assembly).PropertiesAutowired(); Assembly[] assemblies = new Assembly[] { Assembly.Load("IMS.Service") };// 获取所有相关类库的程序集 builder.RegisterAssemblyTypes(assemblies). Where(type => !type.IsAbstract && typeof(IServiceSupport).IsAssignableFrom(type)).AsImplementedInterfaces().PropertiesAutowired(); //type1.IsAssignableFrom(type2):Assign赋值,type1类型的变量是否可以指向type2类型的对象。也就是type2是否实现type1接口/type2是否继承自type1 //注册系统级别的 DependencyResolver,这样当 MVC 框架创建 Controller 等对象的时候都是管 Autofac 要对象。 var container = builder.Build(); // Set the dependency resolver for MVC. var resolver = new AutofacDependencyResolver(container); DependencyResolver.SetResolver(resolver); // Set the dependency resolver for Web API. var webApiResolver = new AutofacWebApiDependencyResolver(container); GlobalConfiguration.Configuration.DependencyResolver = webApiResolver; GlobalFilters.Filters.Add(new JsonNetActionFilter()); GlobalFilters.Filters.Add(new SYSExceptionFilter()); GlobalFilters.Filters.Add(new SYSAuthorizationFilter()); StartQuartz(); }
private static void SetIocContainer() { try { //Implement Autofac var configuration = GlobalConfiguration.Configuration; var builder = new ContainerBuilder(); // Register MVC controllers using assembly scanning. builder.RegisterControllers(Assembly.GetExecutingAssembly()); // Register MVC controller and API controller dependencies per request. builder.RegisterType <UnitOfWork>().As <IUnitOfWork>().InstancePerDependency(); builder.RegisterType <DatabaseFactory>().As <IDatabaseFactory>().InstancePerLifetimeScope(); // Register service builder.RegisterAssemblyTypes(typeof(ProfileService).Assembly) .Where(t => t.Name.EndsWith("Service")) .AsImplementedInterfaces().InstancePerDependency(); // Register repository builder.RegisterAssemblyTypes(typeof(ProfileRepository).Assembly) .Where(t => t.Name.EndsWith("Repository")) .AsImplementedInterfaces().InstancePerDependency(); var container = builder.Build(); //for MVC Controller Set the dependency resolver implementation. var resolverMvc = new AutofacDependencyResolver(container); System.Web.Mvc.DependencyResolver.SetResolver(resolverMvc); } catch (Exception ex) { throw; } }
private static void RegisterDependencies() { var builder = new ContainerBuilder(); // Entities Database.SetInitializer <EntitiesContext>(null); builder.RegisterType <EntitiesContext>() .InstancePerHttpRequest(); builder.RegisterGeneric(typeof(EntityRepository <>)) .As(typeof(IEntityRepository <>)) .InstancePerHttpRequest(); // Services builder.RegisterAssemblyTypes(typeof(IUserService).Assembly) .Where(t => t.Name.EndsWith("Service")) .AsImplementedInterfaces() .InstancePerHttpRequest(); // ASP.NET stack dependencies builder.RegisterModule(new AutofacWebTypesModule()); builder.RegisterFilterProvider(); builder.RegisterControllers(Assembly.GetExecutingAssembly()); // ASP.NET Web API dependencies builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); var container = builder.Build(); var autofacDependencyResolver = new AutofacDependencyResolver(container); DependencyResolver.SetResolver(autofacDependencyResolver); var autofacWebApiDependencyResolver = new AutofacWebApiDependencyResolver(container); GlobalConfiguration.Configuration.DependencyResolver = autofacWebApiDependencyResolver; }
public static void Register() { var builder = new ContainerBuilder(); // Registers all ASP.NET MVC controllers builder.RegisterControllers(Assembly.GetExecutingAssembly()); // Registers all Web API controllers builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); // All other types to register DbConnection connection = Effort.DbConnectionFactory.CreatePersistent("AcTraining"); builder.RegisterInstance(connection) .SingleInstance(); builder.RegisterType <DataContext>() .InstancePerRequest(); // register own types here!!! builder.RegisterType <CustomerRepository>() .As <ICustomerRepository>() .InstancePerRequest(); var container = builder.Build(); // Set the dependency resolver for MVC var mvcResolver = new AutofacDependencyResolver(container); DependencyResolver.SetResolver(mvcResolver); // Set the dependency resolver for Web API. var webApiResolver = new AutofacWebApiDependencyResolver(container); GlobalConfiguration.Configuration.DependencyResolver = webApiResolver; }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); GlobalConfiguration.Configuration.EnsureInitialized(); var builder = new ContainerBuilder(); builder.RegisterModule(new EfModule()); builder.RegisterModule(new RepositoryModule()); builder.RegisterModule(new ServiceModule()); var config = GlobalConfiguration.Configuration; //Register your MVC controllers. var callingAssembly = Assembly.GetExecutingAssembly(); builder.RegisterControllers(callingAssembly); // Register your Web API controllers. builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); // OPTIONAL: Register the Autofac filter provider. builder.RegisterWebApiFilterProvider(config); var container = builder.Build(); config.DependencyResolver = new AutofacWebApiDependencyResolver(container); var resolver = new AutofacDependencyResolver(container); DependencyResolver.SetResolver(resolver); // CreateRolesAndUsers(); }
public void Configuration(IAppBuilder app) { var config = new HttpConfiguration(); WebApiConfiguration(config); var container = new AutofacContainer().Container; config.DependencyResolver = new AutofacWebApiDependencyResolver(container); app.UseAutofacMiddleware(container); app.UseAutofacWebApi(config); app.UseWebApi(config); var resolver = new AutofacDependencyResolver(container); app.MapSignalR(new HubConfiguration { Resolver = resolver, EnableDetailedErrors = true }); ConfigureSignalR(container, resolver); }
public void Configuration(IAppBuilder app) { AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); //Autofac Configuration var builder = new Autofac.ContainerBuilder(); builder.RegisterControllers(Assembly.GetExecutingAssembly()); builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); builder.RegisterModule(new ServiceModule()); builder.RegisterModule(new EFModule()); var container = builder.Build(); //DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); // Set the dependency resolver for MVC. var mvcResolver = new AutofacDependencyResolver(container); DependencyResolver.SetResolver(mvcResolver); // Set the dependency resolver for Web API. var webApiResolver = new AutofacWebApiDependencyResolver(container); GlobalConfiguration.Configuration.DependencyResolver = webApiResolver; ApplicationContainer.Container = container; //Finally Configure Auth ConfigureAuth(app); }
private void ConfigureContainer() { var builder = new ContainerBuilder(); builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); builder.RegisterType <RecognitionDbContext>().As <RecognitionDbContext>(); builder.RegisterType <SpeakersRepository>().As <ISpeakerRepository>(); builder.RegisterType <FeaturesRepository>().As <IFeaturesRepository>(); builder.RegisterType <UnitOfWork>().As <IUnitOfWork>(); //builder.RegisterType<RecognitionService>().As<IRecognitionService>().WithParameter("baseDirectory", SamplesPath); builder.RegisterType <SpeakerRecignitionService>().As <IRecognitionService>(); var container = builder.Build(); _resolver = new AutofacDependencyResolver(container); var config = GlobalConfiguration.Configuration; config.DependencyResolver = new AutofacWebApiDependencyResolver(container); }
public static void Register(HttpConfiguration config) { var builder = new ContainerBuilder(); builder.RegisterControllers(typeof(MvcApplication).Assembly); builder.RegisterApiControllers(typeof(MvcApplication).Assembly); builder.RegisterModelBinders(Assembly.GetExecutingAssembly()); builder.RegisterModelBinderProvider(); builder.RegisterModule <AutofacWebTypesModule>(); builder.RegisterModule <ValidationModule>(); builder.RegisterSource(new ViewRegistrationSource()); builder.RegisterFilterProvider(); RegisterTypes(builder); var container = builder.Build(); AutofacDependencyResolver = new AutofacDependencyResolver(container); DependencyResolver.SetResolver(AutofacDependencyResolver); config.DependencyResolver = new AutofacWebApiDependencyResolver(container); }
protected void Application_Start() { //Database.SetInitializer<Salvis.DataLayer.DataModelContainer>(null); //System.Web.Helpers.AntiForgeryConfig.RequireSsl = true; AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); var container = CreateContainer(); // MVC Dependency var mvcResolver = new AutofacDependencyResolver(container); DependencyResolver.SetResolver(mvcResolver); // WebAPI Dependency var webApiResolver = new AutofacWebApiDependencyResolver(container); GlobalConfiguration.Configuration.DependencyResolver = webApiResolver; }
public static void RegisterComponets() { var builder = new ContainerBuilder(); //Context builder.RegisterType <PrinteryContext>().As <IPrinteryContext>().InstancePerRequest(); //Repositories builder.RegisterType <OrderRespository>().As <IOrderRespository>().InstancePerRequest(); builder.RegisterType <ProductRespository>().As <IProductRespository>().InstancePerRequest(); builder.RegisterType <PaperRespository>().As <IPaperRespository>().InstancePerRequest(); builder.RegisterType <InkRespository>().As <IInkRespository>().InstancePerRequest(); builder.RegisterType <EmpRepository>().As <IEmpRepository>().InstancePerRequest(); builder.RegisterType <CustomerRepository>().As <ICustomerRepository>().InstancePerRequest(); builder.RegisterType <PowerCheckRepository>().As <IPowerCheckRepository>().InstancePerRequest(); //Provider builder.RegisterType <OrderProvider>().As <IOrderProvider>().InstancePerRequest(); builder.RegisterType <ProductProvider>().As <IProductProvider>().InstancePerRequest(); builder.RegisterType <PaperProvider>().As <IPaperProvider>().InstancePerRequest(); builder.RegisterType <InkProvider>().As <IInkProvider>().InstancePerRequest(); builder.RegisterType <EmpProvider>().As <IEmpProvider>().InstancePerRequest(); builder.RegisterType <CustomerProvider>().As <ICustomerProvider>().InstancePerRequest(); builder.RegisterType <PowerCheckProvider>().As <IPowerCheckProvider>().InstancePerRequest(); //other builder.RegisterControllers(Assembly.GetExecutingAssembly()); //builder the Container var config = GlobalConfiguration.Configuration; var container = builder.Build(); var dependencyResolver = new AutofacDependencyResolver(container); DependencyResolver.SetResolver(dependencyResolver); }
private void ConfigureDependencyInjection(IAppBuilder app, HttpConfiguration apiConfig) { var builder = new ContainerBuilder(); Assembly executingAssembly = Assembly.GetExecutingAssembly(); builder.RegisterApiControllers(executingAssembly); builder.RegisterControllers(executingAssembly); RegisterComponents(builder, app); var container = builder.Build(); app.UseAutofacMiddleware(container); var apiResolver = new AutofacWebApiDependencyResolver(container); apiConfig.DependencyResolver = apiResolver; app.UseAutofacWebApi(apiConfig); var mvcResolver = new AutofacDependencyResolver(container); DependencyResolver.SetResolver(mvcResolver); app.UseAutofacMvc(); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); // REGISTRO AUTOFAC #region REGISTRO AUTOFAC var builder = new ContainerBuilder(); // builder.RegisterType<PersonasController>().InstancePerRequest(); // Get your HttpConfiguration. //var config = GlobalConfiguration.Configuration; var config = new HttpConfiguration(); // OPTIONAL: Register the Autofac filter provider. builder.RegisterWebApiFilterProvider(config); // Register your MVC controllers. (MvcApplication is the name of // the class in Global.asax.) builder.RegisterControllers(typeof(WebApiApplication).Assembly); builder.RegisterApiControllers(typeof(WebApiApplication).Assembly); // OPTIONAL: Register model binders that require DI. builder.RegisterModelBinders(typeof(WebApiApplication).Assembly); builder.RegisterModelBinderProvider(); // OPTIONAL: Register web abstractions like HttpContextBase. builder.RegisterModule <AutofacWebTypesModule>(); // OPTIONAL: Enable property injection in view pages. builder.RegisterSource(new ViewRegistrationSource()); // OPTIONAL: Enable property injection into action filters. builder.RegisterFilterProvider(); // OPTIONAL: Enable action method parameter injection (RARE). // builder.InjectActionInvoker(); //DEPENDENCIAS DE LA APLICACION // APPLICATION SERVICE builder.RegisterType <UserRepository>().As <IUserRepository>().InstancePerRequest(); // builder.RegisterAssemblyTypes(typeof(Models.Command.Persona.PersonaCommand).GetTypeInfo().Assembly).AsImplementedInterfaces(); // builder.RegisterAssemblyTypes(typeof(Models.Query.Persona.PersonaQuery).GetTypeInfo().Assembly).AsImplementedInterfaces(); // Set the dependency resolver to be Autofac. var container = builder.Build(); // GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver((IContainer)container); //Set the WebApi DependencyResolver // config.DependencyResolver = new AutofacWebApiDependencyResolver(container); // DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); //AQUI //// Set the dependency resolver for Web API. var webApiResolver = new AutofacWebApiDependencyResolver(container); GlobalConfiguration.Configuration.DependencyResolver = webApiResolver; //// Set the dependency resolver for MVC. var mvcResolver = new AutofacDependencyResolver(container); DependencyResolver.SetResolver(mvcResolver); //HASTA AQUI #endregion }
void SetUpAutoFac() { System.Diagnostics.Trace.TraceError("Autofac Setup..."); var builder = new ContainerBuilder(); // // REGISTERING CONTROLLERS // builder.RegisterType <DatabaseFactory>().As <IDatabaseFactory>().InstancePerRequest(); builder.RegisterType <CoreController>(); builder.RegisterType <LoginController>(); builder.RegisterType <PaisesController>(); builder.RegisterType <EstatusController>(); builder.RegisterType <NizaController>(); builder.RegisterType <ViennaController>(); builder.RegisterType <MarcaController>(); builder.RegisterType <PatenteController>(); builder.RegisterType <DAutorController>(); builder.RegisterType <ExpedienteController>(); builder.RegisterType <EventosController>(); builder.RegisterType <OpsXEventoController>(); builder.RegisterType <OpcionesController>(); builder.RegisterType <LeyesController>(); builder.RegisterType <RolesController>(); builder.RegisterType <UsuariosController>(); builder.RegisterType <UsuariosPublicosController>(); builder.RegisterType <EntitiesController>(); builder.RegisterType <GacetaController>(); builder.RegisterType <FavoritosController>(); builder.RegisterType <AuthController>(); builder.RegisterType <AuthPublicController>(); builder.RegisterType <PatTitularController>(); builder.RegisterType <AgentesController>(); builder.RegisterType <InventoresController>(); builder.RegisterType <PermisosController>(); builder.RegisterType <AnotacionController>(); // // REGISTERING MANAGERS // builder.RegisterType <UserManager>().As <IUserManager>(); builder.RegisterType <PaisManager>().As <IPaisManager>(); builder.RegisterType <EstatusManager>().As <IEstatusManager>(); builder.RegisterType <EnumManager>().As <IEnumManager>(); builder.RegisterType <NizaManager>().As <INizaManager>(); builder.RegisterType <VienaManager>().As <IVienaManager>(); builder.RegisterType <EventoManager>().As <IEventoManager>(); builder.RegisterType <OpcionManager>().As <IOpcionManager>(); builder.RegisterType <ExpedienteManager>().As <IExpedienteManager>(); builder.RegisterType <MarcaManager>().As <IMarcaManager>(); builder.RegisterType <OpcionesPorEventoManager>().As <IOpcionesPorEventoManager>(); builder.RegisterType <LeyesManager>().As <ILeyesManager>(); builder.RegisterType <RolManager>().As <IRolManager>(); builder.RegisterType <SessionManager>().As <ISessionManager>(); builder.RegisterType <UsuarioPublicoManager>().As <IUsuarioPublicoManager>(); builder.RegisterType <PublicacionManager>().As <IPublicacionManager>(); builder.RegisterType <FavoritoManager>().As <IFavoritoManager>(); builder.RegisterType <GrupoManager>().As <IGrupoManager>(); builder.RegisterType <GrupoExpedienteManager>().As <IGrupoExpedienteManager>(); builder.RegisterType <GrupoMiembroManager>().As <IGrupoMiembroManager>(); builder.RegisterType <UsuarioPublicoManager>().As <IUsuarioPublicoManager>(); builder.RegisterType <EstadisticaManager>().As <IEstadisticaManager>(); builder.RegisterType <PatTitularManager>().As <IPatTitularManager>(); builder.RegisterType <PatenteManager>().As <IPatenteManager>(); builder.RegisterType <AgenteManager>().As <IAgenteManager>(); builder.RegisterType <InventorManager>().As <IInventorManager>(); builder.RegisterType <DerechoDeAutorManager>().As <IDerechoDeAutorManager>(); builder.RegisterType <PermisoManager>().As <IPermisoManager>(); // // REGISTERING REPOSITORIES // builder.RegisterType <UserRepository>().As <IUserRepository>(); builder.RegisterType <PaisRepository>().As <IPaisRepository>(); builder.RegisterType <EstatusRepository>().As <IEstatusRepository>(); builder.RegisterType <EnumRepository>().As <IEnumRepository>(); builder.RegisterType <NizaRepository>().As <INizaRepository>(); builder.RegisterType <VienaRepository>().As <IVienaRepository>(); builder.RegisterType <EventoRepository>().As <IEventoRepository>(); builder.RegisterType <OpcionRepository>().As <IOpcionRepository>(); builder.RegisterType <ExpedienteRepository>().As <IExpedienteRepository>(); builder.RegisterType <MarcaRepository>().As <IMarcaRepository>(); builder.RegisterType <OpcionesPorEventoRepository>().As <IOpcionesPorEventoRepository>(); builder.RegisterType <LeyesRepository>().As <ILeyesRepository>(); builder.RegisterType <RolRepository>().As <IRolRepository>(); builder.RegisterType <SessionRepository>().As <ISessionRepository>(); builder.RegisterType <UsuarioPublicoRepository>().As <IUsuarioPublicoRepository>(); builder.RegisterType <PublicacionRepository>().As <IPublicacionRepository>(); builder.RegisterType <FavoritoRepository>().As <IFavoritoRepository>(); builder.RegisterType <GrupoRepository>().As <IGrupoRepository>(); builder.RegisterType <GrupoExpedienteRepository>().As <IGrupoExpedienteRepository>(); builder.RegisterType <GrupoMiembroRepository>().As <IGrupoMiembroRepository>(); builder.RegisterType <UsuarioPublicoRepository>().As <IUsuarioPublicoRepository>(); builder.RegisterType <EstadisticaRepository>().As <IEstadisticaRepository>(); builder.RegisterType <PatTitularRepository>().As <IPatTitularRepository>(); builder.RegisterType <PatenteRepository>().As <IPatenteRepository>(); builder.RegisterType <AgenteRepository>().As <IAgenteRepository>(); builder.RegisterType <InventorRepository>().As <IInventorRepository>(); builder.RegisterType <DerechoDeAutorRepository>().As <IDerechoDeAutorRepository>(); builder.RegisterType <PermisoRepository>().As <IPermisoRepository>(); builder.RegisterType <AuditoriaRepository>().As <IAuditoriaRepository>(); builder.RegisterType <Repository <Usuario> >().As <IRepository <Usuario> >(); builder.RegisterType <CryptoManager>().As <ICryptoManager>(); builder.RegisterType <Transaction>().As <ITransaction>(); builder.Register(c => new HttpContextWrapper(HttpContext.Current) as HttpContextBase) .InstancePerRequest(); builder.Register(c => c.Resolve <HttpContextBase>().Request) .As <HttpRequestBase>() .InstancePerRequest(); builder.Register(c => c.Resolve <HttpContextBase>().Response) .As <HttpResponseBase>() .InstancePerRequest(); builder.Register(c => c.Resolve <HttpContextBase>().Server) .As <HttpServerUtilityBase>() .InstancePerRequest(); builder.Register(c => c.Resolve <HttpContextBase>().Session) .As <HttpSessionStateBase>() .InstancePerRequest(); //builder.Register(c => // //register FakeHttpContext when HttpContext is not available // HttpContext.Current != null ? // (new HttpContextWrapper(HttpContext.Current) as HttpContextBase) : // (new FakeHttpContext("~/") as HttpContextBase)) // .As<HttpContextBase>() // .InstancePerHttpRequest(); var container = builder.Build(); DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); var resolver = new AutofacDependencyResolver(container); // config.DependencyResolver = new AutoFacContainer(resolver); }
private static void RegisterDependencyResolver(IContainer container) { var resolver = new AutofacDependencyResolver(container); DependencyResolver.SetResolver(resolver); }
protected void Application_Start() { // Setup IoC container ContainerBuilder builder = Factory.IoContainer; builder.RegisterType <Models.SqlRepository>().As <Models.IRepository>().InstancePerRequest(); builder.RegisterType <CustomAuthentication>().As <IAuthentication>().PropertiesAutowired().InstancePerRequest(); //builder.Register(c => new CustomAuthentication ()).As<IAuthentication> ().InstancePerRequest(); //Assembly executingAssembly = Assembly.GetExecutingAssembly(); // Register dependencies in controllers builder.RegisterControllers(typeof(MvcApplication).Assembly).PropertiesAutowired(); // Register dependencies in filter attributes builder.RegisterFilterProvider(); // Register dependencies in custom views builder.RegisterSource(new ViewRegistrationSource()); //builder.Register(c => new Algowe.Web.Controllers.AccountController(). IContainer container = builder.Build(); var afdr = new AutofacDependencyResolver(container); DependencyResolver.SetResolver(afdr); AreaRegistration.RegisterAllAreas(); RegisterGlobalFilters(GlobalFilters.Filters); RegisterRoutes(RouteTable.Routes); //builder.RegisterModule(new ServicesModule()); //builder.Register(c => new Entities()).As<IEntities>() // .OnActivated(e => // { // var config = DependencyResolver.Current.GetService<IGlobalSettings>(); // e.Instance.RawConnectionString = config.Data.SqlServerConnectionString; // }).InstancePerHttpRequest(); /* * builder.RegisterType<LocalizationContext>().PropertiesAutowired().InstancePerHttpRequest(); * * builder.Register(c => new DefaultGlobalSettings()).As<IGlobalSettings>().SingleInstance(); * * builder.RegisterGeneric(typeof(MongoRepository<>)) * .As(typeof(IMongoRepository<>)).InstancePerHttpRequest(); * * builder.Register(c => EnvironmentContext()).As<IEnvironmentContext>().InstancePerHttpRequest(); * * builder.RegisterModule(new AutofacWebTypesModule()); * * builder.RegisterSource(new ViewRegistrationSource()); * * builder.RegisterModelBinders(Assembly.GetExecutingAssembly()); * builder.RegisterModelBinderProvider(); * * builder.RegisterFilterProvider(); * * IContainer container = builder.Build(); * DependencyResolver.SetResolver(new AutofacDependencyResolver(container));*/ CheckVersion(); }
static IContainer GetContainer() { var builder = new ContainerBuilder(); var assemblies = AppDomain.CurrentDomain.GetAssemblies() .Where(e => e.FullName.Contains("FaceGraphTask") || e.FullName.Contains("CQRS")).ToArray(); builder.RegisterAssemblyTypes(assemblies) .Where(t => typeof(ICommand).IsAssignableFrom(t)) .InstancePerLifetimeScope().AsImplementedInterfaces(); builder.RegisterAssemblyTypes(assemblies) .AsClosedTypesOf(typeof(ICommandValidator <>)) .AsImplementedInterfaces(); builder.RegisterAssemblyTypes(assemblies) .Where(t => t.BaseType == typeof(HttpApplicationStateBase)) .AsSelf() .AsImplementedInterfaces() .InstancePerLifetimeScope(); builder.RegisterAssemblyTypes(assemblies) .Where(t => t.BaseType == typeof(HttpSessionStateBase)) .AsSelf() .AsImplementedInterfaces() .InstancePerLifetimeScope(); builder.RegisterAssemblyTypes(assemblies) .Where(t => t == typeof(FileManager)) .AsSelf() .WithParameter("rootPath", "~/app_data/") .AsImplementedInterfaces(); builder.RegisterAssemblyTypes(assemblies) .AsClosedTypesOf(typeof(Application <>)) .AsSelf() .AsImplementedInterfaces(); builder.RegisterAssemblyTypes(assemblies) .AsClosedTypesOf(typeof(Session <>)) .AsSelf() .AsImplementedInterfaces(); builder.RegisterAssemblyTypes(assemblies) .AssignableTo <ICacheManager>() .AsImplementedInterfaces() .As(typeof(ICacheManager)); builder.RegisterAssemblyTypes(assemblies) .Where(t => t.BaseType == typeof(BaseEntity)).InstancePerDependency() .AsSelf() .AsImplementedInterfaces(); #region Entity Framework builder.RegisterAssemblyTypes(assemblies) .AsClosedTypesOf(typeof(Infrastructure.Commands.Interfaces.IFrameWorkCommandHandler <>)) .AsSelf() .AsImplementedInterfaces(); builder.RegisterAssemblyTypes(assemblies) .AssignableTo <ICommandExecuter>() .AsImplementedInterfaces() //.WithParameter("connectionString", "DefaultConnection") .As(typeof(ICommandExecuter)); builder.RegisterAssemblyTypes(assemblies) .AssignableTo <ICommandService>() .AsSelf() .AsImplementedInterfaces() .As(typeof(ICommandService)); var container = builder.Build(); builder = new ContainerBuilder(); builder.RegisterAssemblyTypes(assemblies) .AssignableTo <ICommandDispatcher>() .AsImplementedInterfaces() .As(typeof(ICommandDispatcher)) .WithParameter("container", container); //builder.RegisterAssemblyTypes(assemblies) // .AsClosedTypesOf(typeof(BaseApiController)) // .AsSelf() // .AsImplementedInterfaces(); //builder.RegisterAssemblyTypes(assemblies) // .AsClosedTypesOf(typeof(BaseController)) // .AsSelf() // .AsImplementedInterfaces(); //builder.Update(container); #endregion builder.RegisterModule(new AutofacWebTypesModule()); #region Mvc // Register dependencies in filter attributes builder.RegisterFilterProvider(); builder.RegisterControllers(Assembly.GetExecutingAssembly()); builder.RegisterModelBinders(Assembly.GetExecutingAssembly()); builder.RegisterModelBinderProvider(); MvcResolver = new AutofacDependencyResolver(container); #endregion #region Web Api builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); //WebApi resolver. WebApiResolver = new AutofacWebApiDependencyResolver(container); #endregion builder.Update(container); return(container); }
public void CanResolveDefaultServices() { var container = new ContainerBuilder().Build(); var resolver = new AutofacDependencyResolver(container); var service = resolver.GetService(typeof(IMessageBus)); Assert.IsAssignableFrom<IMessageBus>(service); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); // REGISTRO AUTOFAC #region REGISTRO AUTOFAC var builder = new ContainerBuilder(); // builder.RegisterType<PersonasController>().InstancePerRequest(); // Get your HttpConfiguration. //var config = GlobalConfiguration.Configuration; var config = new HttpConfiguration(); // OPTIONAL: Register the Autofac filter provider. builder.RegisterWebApiFilterProvider(config); // Register your MVC controllers. (MvcApplication is the name of // the class in Global.asax.) builder.RegisterControllers(typeof(WebApiApplication).Assembly); builder.RegisterApiControllers(typeof(WebApiApplication).Assembly); // OPTIONAL: Register model binders that require DI. builder.RegisterModelBinders(typeof(WebApiApplication).Assembly); builder.RegisterModelBinderProvider(); // OPTIONAL: Register web abstractions like HttpContextBase. builder.RegisterModule <AutofacWebTypesModule>(); // OPTIONAL: Enable property injection in view pages. builder.RegisterSource(new ViewRegistrationSource()); // OPTIONAL: Enable property injection into action filters. builder.RegisterFilterProvider(); // OPTIONAL: Enable action method parameter injection (RARE). // builder.InjectActionInvoker(); //DEPENDENCIAS DE LA APLICACION // APPLICATION SERVICE builder.RegisterType <PersonaQueryService>().As <IPersonaQueryService>().InstancePerRequest(); builder.RegisterType <PersonaCommandService>().As <IPersonaCommandService>().InstancePerRequest(); //* INFRASTRUCTURE //CacheRepository for Ad builder.RegisterType <InfrastructureCache.HttpRuntimeCache <IEnumerable <Domain.Core.Model.Persona.Persona> > >().As <ICache <IEnumerable <Domain.Core.Model.Persona.Persona> > >().InstancePerRequest(); //Sql connection type & connectionString builder.RegisterType <Infrastructure.Persistence.SQL.SqlConnectionFactory>() .As <Infrastructure.Persistence.SQL.IConnectionFactory>() .WithParameter("connectionString", System.Configuration.ConfigurationManager.ConnectionStrings["BDANIMALESEntities"].ConnectionString) .InstancePerRequest(); builder.RegisterType <Infrastructure.Persistence.SQL.Persona.PersonaQueryRepository>().As <IPersonaQueryRepository>().InstancePerRequest(); builder.RegisterType <Infrastructure.Persistence.SQL.Persona.PersonaCommandRepository>().As <IPersonaCommnadRepository>().InstancePerRequest(); //* //DOMAIN SERVICES - ACL //ACL for external API façade //builder.RegisterType<ACL.PostalCodeAdapter>().As<Domain.Core.Services.IPostalCodeAdapter>().InstancePerRequest(); //builder.RegisterType<ACL.PostalCodeTranslator>().As<Domain.Core.Services.IPostalCodeTranslator>().InstancePerRequest(); //* //* //MEDIATR builder.RegisterSource(new ContravariantRegistrationSource()); builder.RegisterAssemblyTypes(typeof(IMediator).GetTypeInfo().Assembly).AsImplementedInterfaces(); builder.RegisterAssemblyTypes(typeof(Models.Command.Persona.PersonaCommand).GetTypeInfo().Assembly).AsImplementedInterfaces(); builder.RegisterAssemblyTypes(typeof(Models.Query.Persona.PersonaQuery).GetTypeInfo().Assembly).AsImplementedInterfaces(); builder.Register <ServiceFactory>(ctx => { var c = ctx.Resolve <IComponentContext>(); return(t => c.Resolve(t)); }); builder.Register <ServiceFactory>(ctx => { var c = ctx.Resolve <IComponentContext>(); return(t => c.Resolve(t)); }); //** // Set the dependency resolver to be Autofac. var container = builder.Build(); // GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver((IContainer)container); //Set the WebApi DependencyResolver // config.DependencyResolver = new AutofacWebApiDependencyResolver(container); // DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); //AQUI //// Set the dependency resolver for Web API. var webApiResolver = new AutofacWebApiDependencyResolver(container); GlobalConfiguration.Configuration.DependencyResolver = webApiResolver; //// Set the dependency resolver for MVC. var mvcResolver = new AutofacDependencyResolver(container); DependencyResolver.SetResolver(mvcResolver); //HASTA AQUI #endregion DomainEvents.Dispatcher = new Infrastructure.Messaging.MassTransit.Middleware(); Infrastructure.Messaging.MassTransit.Consumer.PersonaCreated.Listen(); }
public static void RegisterMvcResolver(this IContainer container) { var mvcResolver = new AutofacDependencyResolver(container); DependencyResolver.SetResolver(mvcResolver); }
public void SetResolver(IContainer container) { var resolver = new AutofacDependencyResolver(container); DependencyResolver.SetResolver(resolver); }
public AutofacValidatorFactory(AutofacDependencyResolver resolver) { _resolver = resolver; }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); RouteConfig.RegisterRoutes(RouteTable.Routes); log4net.Config.XmlConfigurator.Configure(); var builder = new ContainerBuilder();//把当前程序集中的 Controller 都注册,不要忘了.PropertiesAutowired() builder.RegisterControllers(typeof(MvcApplication).Assembly).PropertiesAutowired(); builder.RegisterApiControllers(typeof(MvcApplication).Assembly).PropertiesAutowired(); Assembly[] assemblies = new Assembly[] { Assembly.Load("IMS.Service") };// 获取所有相关类库的程序集 builder.RegisterAssemblyTypes(assemblies). Where(type => !type.IsAbstract && typeof(IServiceSupport).IsAssignableFrom(type)).AsImplementedInterfaces().PropertiesAutowired(); //type1.IsAssignableFrom(type2):Assign赋值,type1类型的变量是否可以指向type2类型的对象。也就是type2是否实现type1接口/type2是否继承自type1 //注册系统级别的 DependencyResolver,这样当 MVC 框架创建 Controller 等对象的时候都是管 Autofac 要对象。 var container = builder.Build(); // Set the dependency resolver for MVC. var resolver = new AutofacDependencyResolver(container); DependencyResolver.SetResolver(resolver); // Set the dependency resolver for Web API. var webApiResolver = new AutofacWebApiDependencyResolver(container); GlobalConfiguration.Configuration.DependencyResolver = webApiResolver; GlobalFilters.Filters.Add(new JsonNetActionFilter()); GlobalFilters.Filters.Add(new SYSExceptionFilter()); GlobalFilters.Filters.Add(new SYSAuthorizationFilter()); Assembly assembly = Assembly.GetExecutingAssembly(); int? levelId = null; string url = null; var types = assembly.DefinedTypes.Where(t => t.BaseType == typeof(Controller) && t.Namespace == "IMS.Web.Areas.Admin.Controllers" && t.GetCustomAttribute(typeof(PermControllerAttribute)) != null); foreach (var item in types) { string ctrName = item.Name.Replace("Controller", ""); var typeName = ((PermControllerAttribute)item.GetCustomAttribute(typeof(PermControllerAttribute))).Name; var methods = item.GetMethods().Where(m => (m.ReturnParameter.ParameterType == typeof(ActionResult) || m.ReturnParameter.ParameterType == typeof(Task <ActionResult>)) && m.GetCustomAttribute(typeof(PermActionAttribute)) != null); foreach (var item1 in methods) { if (item1 == methods.First()) { levelId = 0; var descName = ((PermActionAttribute)item1.GetCustomAttribute(typeof(PermActionAttribute))).Name; string actionName = item1.Name; url = "/admin/" + ctrName + "/" + actionName; } else { var descName = ((PermActionAttribute)item1.GetCustomAttribute(typeof(PermActionAttribute))).Name; string actionName = item1.Name; } } } // StartQuartz(); }
public AutofacDependencyResolverFixture() { Settings = new AutoFacSettings(); Target = new AutofacDependencyResolver(Settings); }
public void GetServicesReturnsRegisteredService() { var builder = new ContainerBuilder(); builder.Register(c => new object()); var container = builder.Build(); var resolver = new AutofacDependencyResolver(container); var services = resolver.GetServices(typeof(object)); Assert.Equal(1, services.Count()); }
/// <summary> /// Initializes a new instance of the <see cref="AutoFacContainer"/> class. /// </summary> /// <param name="container">The container.</param> public AutoFacContainer(AutofacDependencyResolver container) : base(container) { }
/// <summary> /// 註冊DI注入物件資料 /// </summary> public static void Register() { // 容器建立者 ContainerBuilder builder = new ContainerBuilder(); builder.RegisterType <MobileHis.Data.MobileHISEntities>().As <DbContext>().InstancePerRequest(); //builder.Register(c => // { // if (HttpContext.Current.User != null) // return HttpContext.Current.User as CustomPrincipal; // return new CustomPrincipal(); // }).As<CustomPrincipal>().InstancePerRequest(); //builder.Register(c => HttpContext.Current.User).As<IPrincipal>().InstancePerRequest(); builder.Register(c => new WrappedPrincipal(HttpContext.Current.User)).As <WrappedPrincipal>().InstancePerRequest(); //builder.RegisterInstance(HttpContext.Current.User).As<CustomPrincipal>(); //var user = HttpContext.Current.User as CustomPrincipal; //builder.Register(c => user).As<CustomPrincipal>().InstancePerRequest(); //builder.Register(c => c.Resolve<IPrincipal>() as CustomPrincipal).As<CustomPrincipal>().InstancePerRequest(); //builder.RegisterType(typeof(HttpContext.Current.User)).As<CustomPrincipal>().InstancePerRequest(); builder.RegisterType(typeof(EFUnitOfWork)).As <IUnitOfWork>(); builder.RegisterAssemblyTypes(typeof(Service.ServiceModule).Assembly) .Where(t => t.Name.EndsWith("Service")) .AsImplementedInterfaces(); builder.Register <MobileHis.Models.Interface.GetCodeFileSelectList>(ctx => ctx.Resolve <ICodeFileService>().GetDropDownList).As <MobileHis.Models.Interface.GetCodeFileSelectList>(); builder.Register <MobileHis.Models.ViewModel.AccountCreateView.GetDepartmentList>(ctx => ctx.Resolve <IDepartmentService>().GetCheckBoxList).As <MobileHis.Models.ViewModel.AccountCreateView.GetDepartmentList>(); builder.Register <MobileHis.Models.ViewModel.AccountCreateView.GetRoleList>(ctx => ctx.Resolve <IRoleService>().GetRoles).As <MobileHis.Models.ViewModel.AccountCreateView.GetRoleList>(); builder.Register <MobileHis.Models.Areas.Sys.ViewModels.CodeFileViewModel.GetCategoryList>(ctx => ctx.Resolve <ICodeFileService>().GetCategoryList).As <MobileHis.Models.Areas.Sys.ViewModels.CodeFileViewModel.GetCategoryList>(); builder.RegisterControllers(Assembly.GetExecutingAssembly()); // 建立容器 IContainer container = builder.Build(); // 解析容器內的型別 //AutofacWebApiDependencyResolver resolverApi = new AutofacWebApiDependencyResolver(container); AutofacDependencyResolver resolver = new AutofacDependencyResolver(container); // 建立相依解析器 //GlobalConfiguration.Configuration.DependencyResolver = resolverApi; DependencyResolver.SetResolver(resolver); //// 第一步,建立ContainerBuilder //var builder = new ContainerBuilder(); //// 開始 第二步,註冊service //// 註冊ConsoleLogger這個class為ILogger Service的Component //builder.RegisterType<DrugVendorBLL>().As<IDrugVendorBLL>(); //// 如果寫法是:builder.RegisterType<ConsoleLogger>(); //// 那麼就是ConsoleLogger這個class為ConsoleLogger Service的Component //// 註冊自己實例化出來的物件 //// 上面是只註冊class type(因此,用到的時候是autofac幫你new出來),這邊是直接用這個object //var output = new StringWriter(); //builder.RegisterInstance(output).As<TextWriter>(); //// 用lambda 註冊會更有彈性,因為傳進來的c是container的instance,因此可以用c來做一些複雜的東西。 //builder.Register(c => new ConfigReader("mysection")).As<IConfigReader>(); //// 假設不想要一個一個註冊,可以用scan的方式。 //// 下面scan一個assembly所有的type,當那個type的名字最後結尾是Repository的時候, //// 把它註冊的service設為這個class的interface //builder.RegisterAssemblyTypes(myAssembly) // .Where(t => t.Name.EndsWith("Repository")) // .AsImplementedInterfaces(); ////結束 第二步 //// 第三步,註冊都完成了,建立自己的container //var container = builder.Build(); //// 第四部,從container取得對應的component。 //// 這邊用using包起來,因為出了這個scope,一切Resolve出來的都會被釋放掉。 //// 這部份在我們整個系列碰到並不多,因為不建議自己每一個這樣取出來, //// 而是用深度整合的方式來讓一切像自動發生。 //// 詳細之後就會比較清楚 //using (var scope = container.BeginLifetimeScope()) //{ // var reader = container.Resolve<IConfigReader>(); //} }
private static void SetupMockLifetimeScopeProvider(ILifetimeScope container) { var resolver = new AutofacDependencyResolver(container, new StubLifetimeScopeProvider(container)); DependencyResolver.SetResolver(resolver); }
/// <summary> /// 全局句柄初始化 /// </summary> /// <param name="resolver">解析器</param> public static ILifetimeScope GlobalInitialize(this AutofacDependencyResolver resolver) { GlobalHandle <ILifetimeScope> .Initialize(resolver.RequestLifetimeScope); return(GlobalHandle <ILifetimeScope> .GetCurrentRef()); }
protected virtual ContainerManager RegisterDependencies() { var builder = new ContainerBuilder(); var container = builder.Build(); var typeFinder = CreateTypeFinder(); _containerManager = new ContainerManager(container); // core dependencies builder = new ContainerBuilder(); builder.RegisterInstance(this).As <IEngine>(); builder.RegisterInstance(typeFinder).As <ITypeFinder>(); // Autofac var lifetimeScopeAccessor = new DefaultLifetimeScopeAccessor(container); var lifetimeScopeProvider = new DefaultLifetimeScopeProvider(lifetimeScopeAccessor); builder.RegisterInstance(lifetimeScopeAccessor).As <ILifetimeScopeAccessor>(); builder.RegisterInstance(lifetimeScopeProvider).As <ILifetimeScopeProvider>(); var dependencyResolver = new AutofacDependencyResolver(container, lifetimeScopeProvider); builder.RegisterInstance(dependencyResolver); DependencyResolver.SetResolver(dependencyResolver); // Logging dependencies should be available very early builder.RegisterModule(new LoggingModule()); #pragma warning disable 612, 618 builder.Update(container); #pragma warning restore 612, 618 // Propagate logger var logger = container.Resolve <ILoggerFactory>().GetLogger("SmartStore.Bootstrapper"); this.Logger = logger; ((AppDomainTypeFinder)typeFinder).Logger = logger; // Register dependencies provided by other assemblies builder = new ContainerBuilder(); var registrarTypes = typeFinder.FindClassesOfType <IDependencyRegistrar>(); var registrarInstances = new List <IDependencyRegistrar>(); foreach (var type in registrarTypes) { registrarInstances.Add((IDependencyRegistrar)Activator.CreateInstance(type)); } // Sort registrarInstances = registrarInstances.OrderBy(t => t.Order).ToList(); foreach (var registrar in registrarInstances) { var type = registrar.GetType(); logger.DebugFormat("Executing dependency registrar '{0}'", type.FullName); registrar.Register(builder, typeFinder, PluginManager.IsActivePluginAssembly(type.Assembly)); } #pragma warning disable 612, 618 builder.Update(container); #pragma warning restore 612, 618 return(_containerManager); }
public void CanOverrideDefaultServices() { var builder = new ContainerBuilder(); var messageBus = new Mock<IMessageBus>().Object; builder.RegisterInstance(messageBus); var resolver = new AutofacDependencyResolver(builder.Build()); var service = resolver.GetService(typeof(IMessageBus)); Assert.Same(messageBus, service); }