private static void RegisterPostBuiltAction(this AutofacServiceCollection services) { services.AddPostRegisterAction("AfterBuild", builder => builder.RegisterBuildCallback(container => { services.ActiveLogEventEnrichers(); StaticServiceResolver.SetResolver(container.Resolve <ILoggingServiceProvider>()); })); }
private static void BuildAndActiveConfiguration(this AutofacServiceCollection services) { services.BuildConfiguration(); services.ActiveSinkSettings(); services.ActiveOriginConfiguration(); services.AddDependency(s => s.TryAddSingleton(Options.Create((LoggingOptions)services.ExposeLogSettings()))); services.AddDependency(s => s.TryAddSingleton(services.ExposeLoggingConfiguration())); }
private static void RegisterPostBuiltAction(this AutofacServiceCollection services) { services.AddPostRegisterAction("AfterBuild", builder => builder.RegisterBuildCallback(container => { StaticInstanceForILanguageServiceProvider.SetInstance(container.Resolve <ILanguageServiceProvider>()); StaticInstanceForTextProvider.SetInstance(container.Resolve <ITextProvider>()); StaticFlag.HasInit = true; StaticFlag.ExpectedServiceName = "AutofacImpl"; })); }
public AppHostBase Run(IAppBuilder app) { IServiceCollection services = null; switch (ContainerType) { case DiType.Autofac: services = new AutofacServiceCollection(); break; case DiType.NInject: services = new NInjectServiceCollection(new Ninject.StandardKernel(), _ => HttpContext.Current); break; } return(this.Set(app).Configure(services).Start()); }
// ConfigureServices is where you register dependencies. This gets // called by the runtime before the Configure method, below. public IServiceProvider ConfigureServices(IServiceCollection services) { // Add services to the collection. services.AddMvc() .AddControllersAsServices(); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); // Register the Swagger generator, defining one or more Swagger documents services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Info { Title = "Livit Leave Management Api", Version = "v1" }); }); services.AddApiVersioning(); services.AddDbContext <LivitDbContext>(options => options.UseSqlite("FileName=./livit.db")); // Create the container builder. var builder = new ContainerBuilder(); // Register services builder.RegisterInstance(this.Configuration) .As <IConfiguration>() .SingleInstance(); // Register dependencies, populate the services from // the collection, and build the container. If you want // to dispose of the container at the end of the app, // be sure to keep a reference to it as a property or field. ILivitServiceCollection autofacServices = new AutofacServiceCollection(builder); InitializationContext configurationContext = new AutofacInitializationContext(autofacServices); // Initialize modules InitializationProcessor.Initialize(configurationContext); builder.Populate(services); this.ApplicationContainer = builder.Build(); // Create the IServiceProvider based on the container. return(new AutofacServiceProvider(this.ApplicationContainer)); }