/// <summary> /// Initializes a new instance of <see cref="Container" />. /// <param name="registrationContainer">The registrations for this container.</param> /// </summary> internal Container(IRegistrationContainer registrationContainer) { _registrationContainer = registrationContainer; CreateValidPropertiesSelector(); RegisterContainer(); }
public IModuleLoader Initialize(T scope, IOptionsResolver optionsResolver, IConnectionStringResolver connectionStringResolver) { if (_initialized) { return(this); } lock (_locker) { if (_initialized) { return(this); } _genericContainer = AdaptContainer(scope); _genericContainer.Register <IResolutionContainer, IResolutionContainer>(AdaptResolver(scope)); _genericContainer.Register <IConnectionStringResolver, IConnectionStringResolver>(connectionStringResolver); _genericContainer.Register <IOptionsResolver, IOptionsResolver>(optionsResolver); _genericContainer.Register(typeof(IOptionsResolver <>), typeof(OptionsResolver <>), RegistrationLifeTime.Singleton); //_genericContainer.Register(typeof(OptionsResolver<>), RegistrationTarget.Interfaces, RegistrationLifeTime.Singleton); _optionsResolver = optionsResolver; _initialized = true; } return(this); }
/// <summary> /// Initializes a new instance of <see cref="ContainerBuilder" />. /// </summary> public ContainerBuilder() { this._registrationContainer = new RegistrationContainer(); this._registrationCallbacks = new List <Action>(); this._defaultLifecycleFunction = () => new TransientLifecycle(); this._bootStrappingContainer = this.Build(); }
public override void Load(IOptionsResolver optionsResolver, IAssemblyTypesResolver assemblyTypesResolver, IRegistrationContainer container) { var types = assemblyTypesResolver.Resolve(Assembly.GetExecutingAssembly()); container.BulkRegisterByMatchingEndName(types, "Service", RegistrationTarget.Interfaces); container.BulkRegisterByMatchingType <IIdentityClaimRefiner>(types, RegistrationTarget.Interfaces); //container.Register<IClaimsTransformation, ClaimsRefinementTransformation>(RegistrationLifeTime.Transient); }
public override void Load(IOptionsResolver optionsResolver, IAssemblyTypesResolver assemblyTypesResolver, IRegistrationContainer container) { var types = assemblyTypesResolver.Resolve(Assembly.GetExecutingAssembly()); container.BulkRegisterByMatchingEndName(types, "Service", RegistrationTarget.Interfaces); container.Register <IHttpContextAccessor, HttpContextAccessor>(RegistrationLifeTime.Singleton); container.RegisterFactory(c => (IUserContext) new UserContext(() => c.Resolve <IHttpContextAccessor>().HttpContext, c.Resolve <IRolePoliciesService>(), c.Resolve <IDateService>()) , RegistrationLifeTime.Singleton); }
public override void Load(IOptionsResolver optionsResolver, IAssemblyTypesResolver assemblyTypesResolver, IRegistrationContainer container) { var types = assemblyTypesResolver.Resolve(Assembly.GetExecutingAssembly()); //container.BulkRegisterByMatchingType(typeof(IRepository<>), types, RegistrationTarget.Interfaces); container.BulkRegisterByMatchingEndName(types, "Service", RegistrationTarget.Interfaces); //container.BulkRegisterByMatchingType(typeof(IConfigurationRuleSet), types, RegistrationTarget.Interfaces); container.BulkRegisterByMatchingType <EntityBaseConfiguration>(types, RegistrationTarget.AbstractBases); container.RegisterDbContext(connectionString => new DbContextOptionsBuilder <SampleDbContext>().UseInMemoryDatabase(connectionString) .Options); }
public override void Load(IOptionsResolver optionsResolver, IAssemblyTypesResolver assemblyTypesResolver, IRegistrationContainer container) { var types = assemblyTypesResolver.Resolve(); container.BulkRegisterByMatchingEndName(types, "Service", RegistrationTarget.Interfaces); //container.BulkRegisterByMatchingType(typeof(IConfigurationRuleSet), types, RegistrationTarget.Interfaces); container.Register <IConfigurationsFactory, ConfigurationsFactory>(RegistrationLifeTime.Singleton); container.Register <IDbContextResolver, DbContextResolver>(RegistrationLifeTime.Scoped); container.Register <IDbContextFactory, DbContextFactory>(RegistrationLifeTime.Scoped); container.Register(typeof(IRepository <>), typeof(DbRepository <>), RegistrationLifeTime.Scoped); }
public static IRegistrationContainer RegisterDbContext <TDbContext>(this IRegistrationContainer container, Func <string, DbContextOptions <TDbContext> > optionsBuilder) where TDbContext : DbContext { container.RegisterFactory(resolver => { var connectionStringResolver = resolver.Resolve <IConnectionStringResolver>(); var connectionString = connectionStringResolver.Resolve <TDbContext>(); return(optionsBuilder(connectionString)); }, RegistrationLifeTime.Scoped); container.Register <TDbContext>(RegistrationTarget.Self | RegistrationTarget.AbstractBases, RegistrationLifeTime.Scoped); return(container); }
internal MisfitContainer(IRegistrationContainer registrationContainer) { this._registrationContainer = registrationContainer; var typeOfIContainer = typeof(IPluginContainer); if (this._registrationContainer.IsRegistered(typeOfIContainer)) { this._registrationContainer.RemoveRegistration(typeOfIContainer); } var registrationItem = new RegistrationItem(typeOfIContainer) { Activator = new InstanceActivator <IPluginContainer>(this), Lifecycle = new TransientLifecycle() }; this._registrationContainer.AddRegistration(registrationItem); }
internal ResolutionContext(IPluginContainer container, IRegistrationContainer registrations, ArgumentContainer arguments, ArgumentContainer runtimeArguments) : this(container, registrations) { this.Arguments = arguments; this.RuntimeArguments = runtimeArguments; }
public MisfitContainerBuilder() { this._registrationContainer = new RegistrationContainer(); this._registrationCallbacks = new List <Action>(); this._bootStrappingContainer = this.Build(); }
/// <summary> /// Initializes a new instance of <see cref="ArrayRegistrationSource" />. /// </summary> /// <param name="registrationContainer">The registration container.</param> public ArrayRegistrationSource(IRegistrationContainer registrationContainer) { this._registrationContainer = registrationContainer; }
/// <summary> /// Initializes a new instance of <see cref="EnumerableRegistrationSource" />. /// </summary> /// <param name="registrationContainer">The registration container.</param> public EnumerableRegistrationSource(IRegistrationContainer registrationContainer) { _registrationContainer = registrationContainer; }
/// <summary> /// Initializes a new instance of <see cref="OpenGenericRegistrationSource" />. /// </summary> /// <param name="registrationContainer">The registration container.</param> public OpenGenericRegistrationSource(IRegistrationContainer registrationContainer) { _registrationContainer = registrationContainer; }
public void Initialize(IOptionsResolver optionsResolver, IAssemblyTypesResolver assemblyTypesResolver, IRegistrationContainer container) { Load(optionsResolver ?? throw new ArgumentNullException(nameof(optionsResolver)), assemblyTypesResolver ?? throw new ArgumentNullException(nameof(assemblyTypesResolver)), container ?? throw new ArgumentNullException(nameof(container))); }
/// <summary> /// Initializes a new instance of <see cref="EnumerableRegistrationSource" />. /// </summary> /// <param name="registrationContainer">The registration container.</param> public EnumerableRegistrationSource(IRegistrationContainer registrationContainer) { this._registrationContainer = registrationContainer; }
public override void Load(IOptionsResolver optionsResolver, IAssemblyTypesResolver assemblyTypesResolver, IRegistrationContainer container) { var types = assemblyTypesResolver.Resolve(Assembly.GetExecutingAssembly()); container.BulkRegisterByMatchingEndName(types, "Service", RegistrationTarget.Interfaces); }
public abstract void Load(IOptionsResolver optionsResolver, IAssemblyTypesResolver assemblyTypesResolver, IRegistrationContainer container);
/// <summary> /// Initializes a new instance of <see cref="ResolutionContext" />. /// <param name="container">The container.</param> /// <param name="registrations">The registrations.</param> /// <param name="arguments">The arguments.</param> /// <param name="runtimeArguments">The runtime arguments.</param> /// </summary> internal ResolutionContext(IContainer container, IRegistrationContainer registrations, ArgumentContainer arguments, ArgumentContainer runtimeArguments) : this(container, registrations) { this.Arguments = arguments; this.RuntimeArguments = runtimeArguments; }
/// <summary> /// Initializes a new instance of <see cref="FactoryRegistrationSource" />. /// </summary> /// <param name="registrationContainer">The registration container.</param> public FactoryRegistrationSource(IRegistrationContainer registrationContainer) { this._registrationContainer = registrationContainer; }
internal ResolutionContext(IPluginContainer container, IRegistrationContainer registrations) : this() { this.Container = container; this.RegistrationContainer = registrations; }
/// <summary> /// Initializes a new instance of <see cref="OpenGenericRegistrationSource" />. /// </summary> /// <param name="registrationContainer">The registration container.</param> public OpenGenericRegistrationSource(IRegistrationContainer registrationContainer) { this._registrationContainer = registrationContainer; }
/// <summary> /// Initializes a new instance of <see cref="ResolutionContext" />. /// <param name="container">The container.</param> /// <param name="registrations">The registrations.</param> /// </summary> internal ResolutionContext(IContainer container, IRegistrationContainer registrations) : this() { this.Container = container; this.RegistrationContainer = registrations; }