本文整理汇总了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();
}
示例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;
}
示例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
}
示例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();
}
示例5: WhenTypesRegisteredAsSelfConcreteTypeIsService
public void WhenTypesRegisteredAsSelfConcreteTypeIsService()
{
var cb = new ContainerBuilder();
cb.RegisterAssemblyTypes(typeof(AComponent).Assembly)
.AsSelf();
var c = cb.Build();
c.AssertRegistered<AComponent>();
}
示例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>>());
}
示例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>());
}
示例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>();
}
示例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>>());
}
示例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)));
}
示例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>))));
}
示例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);
}
示例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>>();
}
示例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>();
}
示例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;
}