public IoCInit WithProvider(IIoCProvider iocProvider) { Guard.NotNull("iocProvider", iocProvider); this.provider = iocProvider; return(this); }
public IoCContainer(IIocOptions options, IIoCProvider parentProvider = null) { Options = options ?? new IocOptions(); if (parentProvider != null) { _parentProvider = parentProvider; } }
} //_container.Resolve<IIoCProvider>(); //public AppSetupBase AppSetupBase => _container.Resolve<AppSetupBase>(); internal IoCProvider(ContainerBuilder builder) { if (Provider == null) { Provider = this; } _builder = builder; builder.RegisterInstance(this).As <IIoCProvider>(); builder.Register <IContainer>((x, c) => GetContainer()); _container = builder.Build(); }
private static void RegisterDataProviderPackages(IIoCProvider ioc, TridentOptions config, IConnectionStringSettings connStringManager) { //need a fix that works for everything or multiple fixes.... dll are lazy JIT and somethimes there are on in the bin either, wtf msft var assList = new List <Assembly>(); assList.AddRange(config.TargetAssemblies); assList.AddRange(AppDomain.CurrentDomain.GetAssemblies().Where(x => x.GetName().Name.StartsWith("Trident."))); var extenders = assList.Distinct().SelectMany(x => x.GetTypes()) .Where(x => typeof(IDataExtender).IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract) .Select(x => Activator.CreateInstance(x) as IDataExtender) .ToList(); foreach (var x in extenders) { x.RegisterSupportedConnections(config, connStringManager, ioc); } }
public ConstructingOpenGenericResolver(Type genericTypeDefinition, IIoCProvider parent) { _genericTypeDefinition = genericTypeDefinition; _parent = parent; }
public ConstructingResolver(Type type, IIoCProvider parent) { _type = type; _parent = parent; }
public void RegisterSupportedConnections(TridentOptions config, IConnectionStringSettings connStringManager, IIoCProvider provider) { provider.Register <RestConnectionStringResolver, IRestConnectionStringResolver>(LifeSpan.SingleInstance); provider.Register <RestSharpClient, IRestClient>(LifeSpan.SingleInstance); //this is so context objects dataSourceName does blowup if verify is used provider.RegisterBehavior <string>(() => "Test container Verify String", LifeSpan.SingleInstance); foreach (var conn in connStringManager) { if (ProviderSetups.ContainsKey(conn.ProviderName)) { ProviderSetups[conn.ProviderName](provider, config, conn); } } }
/// <summary> /// Initializes a new instance of the <see cref="IoCInitializer"/> class. /// </summary> /// <param name="bootstrapScanner">The bootstrap scanner.</param> /// <param name="iocProvider">The ioc provider.</param> public IoCInitializer(IBootstrapScanner bootstrapScanner, IIoCProvider iocProvider) { _bootstrapScanner = bootstrapScanner; _iocProvider = iocProvider; }
public TestServiceImpl(IIoCProvider ioCProvider) { Console.WriteLine("create TestServiceImpl"); }
protected AppSetupBase(IIoCProvider ioCProvider) { _ioCProvider = ioCProvider; }
public void RegisterSupportedConnections(TridentOptions config, IConnectionStringSettings connStringManager, IIoCProvider provider) { provider.Register <OptionsFactory, IOptionsFactory>(LifeSpan.SingleInstance); provider.Register <EFCoreModelBuilderFactory, IEFCoreModelBuilderFactory>(LifeSpan.SingleInstance); provider.Register <DBProviderAbstractFactory, IDBProviderAbstractFactory>(LifeSpan.SingleInstance); provider.Register <EntityMapFactory, IEntityMapFactory>(LifeSpan.SingleInstance); provider.RegisterAll <IEntityMapper>(config.TargetAssemblies, LifeSpan.SingleInstance); //this is so context objects dataSourceName does blowup if verify is used provider.RegisterBehavior <string>(() => "Test container Verify String", LifeSpan.SingleInstance); provider.RegisterBehavior <DbContextOptions>(() => new InjectionVerifyDbContextOptions()); if (connStringManager.Count() > 0) { foreach (var conn in connStringManager) { var pn = conn.ProviderName.ToLower(); if (ProviderSetups.ContainsKey(pn)) { ProviderSetups[pn](provider, config, conn); } } } else { //add warning } }