当前位置: 首页>>代码示例>>C#>>正文


C# ContainerBuilder.RegisterAssemblyTypes方法代码示例

本文整理汇总了C#中ContainerBuilder.RegisterAssemblyTypes方法的典型用法代码示例。如果您正苦于以下问题:C# ContainerBuilder.RegisterAssemblyTypes方法的具体用法?C# ContainerBuilder.RegisterAssemblyTypes怎么用?C# ContainerBuilder.RegisterAssemblyTypes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ContainerBuilder的用法示例。


在下文中一共展示了ContainerBuilder.RegisterAssemblyTypes方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Load

        /// <summary>The load.</summary>
        /// <param name="builder">The builder.</param>
        protected override void Load(ContainerBuilder builder)
        {
            // register data models
            builder.RegisterAssemblyTypes(AssemblySource.Instance.ToArray()).Where(type => type.Name.EndsWith("DataModel")).Where(type => !string.IsNullOrWhiteSpace(type.Namespace)).AsSelf().InstancePerDependency();

            // register view models
            builder.RegisterAssemblyTypes(AssemblySource.Instance.ToArray()).Where(type => type.Name.EndsWith("ViewModel")).Where(type => !string.IsNullOrWhiteSpace(type.Namespace)).AsSelf().InstancePerDependency();

            // register views
            builder.RegisterAssemblyTypes(AssemblySource.Instance.ToArray()).Where(type => type.Name.EndsWith("View")).Where(type => !string.IsNullOrWhiteSpace(type.Namespace)).AsSelf().InstancePerDependency();
        }
开发者ID:PaulMcLeish,项目名称:Public-Sandbox,代码行数:13,代码来源:MainAutofacModule.cs

示例2: BuildMediator

        private static IMediator BuildMediator()
        {
            var builder = new ContainerBuilder();
            builder.RegisterSource(new ContravariantRegistrationSource());
            builder.RegisterAssemblyTypes(typeof (IMediator).Assembly).AsImplementedInterfaces();
            builder.RegisterAssemblyTypes(typeof (Ping).Assembly).AsImplementedInterfaces();
            builder.RegisterInstance(Console.Out).As<TextWriter>();

            var lazy = new Lazy<IServiceLocator>(() => new AutofacServiceLocator(builder.Build()));
            var serviceLocatorProvider = new ServiceLocatorProvider(() => lazy.Value);
            builder.RegisterInstance(serviceLocatorProvider);
            
            var mediator = serviceLocatorProvider().GetInstance<IMediator>();

            return mediator;
        }
开发者ID:BredStik,项目名称:MediatR,代码行数:16,代码来源:Program.cs

示例3: RegisterServices

        private static void RegisterServices(ContainerBuilder builder)
        {
            builder.Register(x => new AppDbContext())
               .As<DbContext>()
               .InstancePerRequest();

<<<<<<< HEAD
            builder.Register(x => new HttpCacheService())
               .As<ICacheService>()
               .InstancePerRequest();

            builder.Register(x => new IdentifierProvider())
               .As<IIdentifierProvider>()
               .InstancePerRequest();

            var servicesAssembly = Assembly.GetAssembly(typeof(IJokesService));
            builder.RegisterAssemblyTypes(servicesAssembly).AsImplementedInterfaces();

            builder.RegisterGeneric(typeof(DbRepository<>))
               .As(typeof(IDbRepository<>))
               .InstancePerRequest();

            builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly())
                .AssignableTo<BaseController>()
                .PropertiesAutowired();
=======
            builder.RegisterGeneric(typeof(DbRepository<>))
                .As(typeof(IDbRepository<>))
                .InstancePerRequest();

            // builder.Register(x => new HttpCacheService())
            //    .As<ICacheService>()
            //    .InstancePerRequest();
            // builder.Register(x => new IdentifierProvider())
            //    .As<IIdentifierProvider>()
            //    .InstancePerRequest();

            // var servicesAssembly = Assembly.GetAssembly(typeof(IJokesService));
            // builder.RegisterAssemblyTypes(servicesAssembly).AsImplementedInterfaces();



            // builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly())
            //    .AssignableTo<BaseController>().PropertiesAutowired();
>>>>>>> 6ca5c2744ff07e9ad93c0f5627d37f5deea149bf
        }
开发者ID:tddold,项目名称:ASP.NET-MVC-Projects,代码行数:46,代码来源:AutofacConfig.cs

示例4: Load

 protected override void Load(ContainerBuilder builder)
 {
     builder.RegisterAssemblyTypes(_assembly)
         .Where( t => t.IsClass && !t.IsAbstract && 
             _typeDictionary.Any(l => l.Invoke(t) != null))
         .AsSelf()
         .InstancePerLifetimeScope();
 }
开发者ID:muratbeyaztas,项目名称:Simple.Web,代码行数:8,代码来源:HandlersModule.cs

示例5: WhenTypesRegisteredAsSelfConcreteTypeIsService

        public void WhenTypesRegisteredAsSelfConcreteTypeIsService()
        {
            var cb = new ContainerBuilder();
            cb.RegisterAssemblyTypes(typeof(AComponent).Assembly)
                .AsSelf();
            var c = cb.Build();

            c.AssertRegistered<AComponent>();
        }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:9,代码来源:ScanningRegistrationTests.cs

示例6: AsClosedTypesOfOpenGenericAbstractClassTypeProvidedClosingGenericTypesRegistered

        public void AsClosedTypesOfOpenGenericAbstractClassTypeProvidedClosingGenericTypesRegistered()
        {
            var cb = new ContainerBuilder();
            cb.RegisterAssemblyTypes(typeof(Message<>).GetTypeInfo().Assembly)
                .AsClosedTypesOf(typeof(Message<>));
            var c = cb.Build();

            Assert.IsType<StringMessage>(c.Resolve<Message<string>>());
        }
开发者ID:GitHuang,项目名称:Autofac,代码行数:9,代码来源:ScanningRegistrationTests.cs

示例7: AsClosedTypesOfClosingInterfaceTypeRegistered

        public void AsClosedTypesOfClosingInterfaceTypeRegistered()
        {
            var cb = new ContainerBuilder();
            cb.RegisterAssemblyTypes(typeof(ICloseCommand).GetTypeInfo().Assembly)
                .AsClosedTypesOf(typeof(ICommand<>));
            var c = cb.Build();

            Assert.IsType<CloseCommand>(c.Resolve<ICloseCommand>());
        }
开发者ID:GitHuang,项目名称:Autofac,代码行数:9,代码来源:ScanningRegistrationTests.cs

示例8: AsImplementedInterfacesRegistersImplementedInterfaces

        public void AsImplementedInterfacesRegistersImplementedInterfaces()
        {
            var cb = new ContainerBuilder();
            cb.RegisterAssemblyTypes(typeof(AComponent).GetTypeInfo().Assembly)
                .AsImplementedInterfaces();
            var c = cb.Build();

            c.AssertRegistered<IAService>();
            c.AssertRegistered<IBService>();
        }
开发者ID:ricardoshimoda,项目名称:Autofac,代码行数:10,代码来源:ScanningRegistrationTests.cs

示例9: AsClosedTypesOfOpenGenericInterfaceTypeProvidedClosingGenericTypesRegistered

        public void AsClosedTypesOfOpenGenericInterfaceTypeProvidedClosingGenericTypesRegistered()
        {
            var cb = new ContainerBuilder();
            cb.RegisterAssemblyTypes(typeof(ICommand<>).GetTypeInfo().Assembly)
                .AsClosedTypesOf(typeof(ICommand<>));
            var c = cb.Build();

            Assert.IsType<SaveCommand>(c.Resolve<ICommand<SaveCommandData>>());
            Assert.IsType<DeleteCommand>(c.Resolve<ICommand<DeleteCommandData>>());
        }
开发者ID:GitHuang,项目名称:Autofac,代码行数:10,代码来源:ScanningRegistrationTests.cs

示例10: AsClosedTypesOfWithServiceKeyMappingShouldAssignKeyResultToEachRegistration

        public void AsClosedTypesOfWithServiceKeyMappingShouldAssignKeyResultToEachRegistration()
        {
            var cb = new ContainerBuilder();
            cb.RegisterAssemblyTypes(typeof(ICommand<>).GetTypeInfo().Assembly)
                .AsClosedTypesOf(typeof(ICommand<>), t => t);
            var c = cb.Build();

            Assert.IsType<SaveCommand>(c.ResolveKeyed<ICommand<SaveCommandData>>(typeof(SaveCommand)));
            Assert.IsType<DeleteCommand>(c.ResolveKeyed<ICommand<DeleteCommandData>>(typeof(DeleteCommand)));
        }
开发者ID:GitHuang,项目名称:Autofac,代码行数:10,代码来源:ScanningRegistrationTests.cs

示例11: AsClosedTypesOfMultipleServicesPerClassExposesAllServices

        public void AsClosedTypesOfMultipleServicesPerClassExposesAllServices()
        {
            var cb = new ContainerBuilder();
            cb.RegisterAssemblyTypes(typeof(UndoRedoCommand).GetTypeInfo().Assembly)
                .AsClosedTypesOf(typeof(ICommand<>));
            var c = cb.Build();

            var r = c.RegistrationFor<ICommand<UndoCommandData>>();
            Assert.True(r.Services.Contains(new TypedService(typeof(ICommand<RedoCommandData>))));
        }
开发者ID:GitHuang,项目名称:Autofac,代码行数:10,代码来源:ScanningRegistrationTests.cs

示例12: WhenAssemblyIsScannedTypesRegisteredByDefault

        public void WhenAssemblyIsScannedTypesRegisteredByDefault()
        {
            var cb = new ContainerBuilder();
            cb.RegisterAssemblyTypes(typeof(AComponent).Assembly);
            var c = cb.Build();

            c.AssertRegistered<AComponent>();
            c.AssertSharing<AComponent>(InstanceSharing.None);
            c.AssertLifetime<AComponent, CurrentScopeLifetime>();
            c.AssertOwnership<AComponent>(InstanceOwnership.OwnedByLifetimeScope);
        }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:11,代码来源:ScanningRegistrationTests.cs

示例13: BTDBFuncUseCase

 public BTDBFuncUseCase()
 {
     var builder = new ContainerBuilder();
     builder.RegisterType<Logger>().As<ILogger>().SingleInstance();
     builder.RegisterAssemblyTypes(typeof(IWebService).Assembly)
         .Where(t => t.Namespace == "IOCPerfTest.IOCDomain")
         .AsImplementedInterfaces()
         .PreserveExistingDefaults();
     _container = builder.Build();
     _factory = _container.Resolve<Func<IWebService>>();
 }
开发者ID:kolman,项目名称:IOCPerfTest,代码行数:11,代码来源:BTDBFuncUseCase.cs

示例14: WhenFiltersAppliedNonMatchingTypesExcluded

        public void WhenFiltersAppliedNonMatchingTypesExcluded()
        {
            var cb = new ContainerBuilder();
            cb.RegisterAssemblyTypes(typeof(AComponent).Assembly)
                .Where(t => t.Name.StartsWith("A"))
                .Where(t => t.Name.StartsWith("AC"));
            var c = cb.Build();

            c.AssertRegistered<AComponent>();
            c.AssertNotRegistered<BComponent>();
            c.AssertNotRegistered<A2Component>();
        }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:12,代码来源:ScanningRegistrationTests.cs

示例15: ConfigureAutofac

        private static IContainer ConfigureAutofac()
        {
            var builder = new ContainerBuilder();

            builder.RegisterAssemblyTypes(AppDomain.CurrentDomain.GetAssemblies())
                   .Where(t => t.Name.EndsWith("Handler"))
                   .AsImplementedInterfaces()
                   .InstancePerLifetimeScope();

            var container = builder.Build();
            return container;
        }
开发者ID:sequin,项目名称:sequin.autofac,代码行数:12,代码来源:Startup.cs


注:本文中的ContainerBuilder.RegisterAssemblyTypes方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。