public static IContainer Initialize() { var configuration = new ConfigurationService(); var builder = new ContainerBuilder(); builder.Register(c => configuration).As <ConfigurationService>().SingleInstance(); builder.Register(c => configuration.CurrentConfiguration).As <IAppConfiguration>().SingleInstance(); builder.Register(c => HttpContext.Current.GetOwinContext().Authentication).InstancePerRequest(); return(AutofacBootstrapper.Initialize(new ContainerBuilder())); }
public void Configuration(IAppBuilder app) { var configurationService = new ConfigurationService(); var config = new HttpConfiguration(); #if DEBUG Log.Logger = new LoggerConfiguration() .WriteTo.Debug() .CreateLogger(); config.Services.Add(typeof(IExceptionLogger), new DebugExceptionLogger()); #else Log.Logger = new LoggerConfiguration() .WriteTo.Elmah() .CreateLogger(); #endif // Autofac var builder = new ContainerBuilder(); builder.Register(c => app.GetDataProtectionProvider()).InstancePerRequest(); builder.Register(c => HttpContext.Current.GetOwinContext().Authentication).InstancePerRequest(); builder.Register(c => Log.Logger).As <ILogger>().SingleInstance(); builder.RegisterType <ElmahSqlLogger>().AsSelf().InstancePerRequest(); var container = AutofacBootstrapper.Initialize(builder, config, configurationService); // Web API config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute("DefaultApi", "api/{controller}/{id}", new { id = RouteParameter.Optional }); config.Services.Add(typeof(IExceptionLogger), new ElmahExceptionLogger()); config.Filters.Add(new ElmahHandleErrorApiAttribute()); config.DependencyResolver = new AutofacWebApiDependencyResolver(container); config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new DefaultContractResolver { IgnoreSerializableAttribute = true }; app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions { Authority = configurationService.CurrentConfiguration.SiteRoot, RequiredScopes = new[] { "api2" }, ValidationMode = ValidationMode.ValidationEndpoint }); app.UseAutofacMiddleware(container); app.UseAutofacWebApi(config); config.Formatters.Add(new BsonMediaTypeFormatter()); app.UseWebApi(config); ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; }
public static Task EnsureBootstrapped() { if (!_isInitialized) { lock (_lockObject) { if (!_isInitialized) { AutofacBootstrapper.Initialize(); _isInitialized = true; } } } return(Task.CompletedTask); }
protected override Task BeforeAsync() { if (!_isInitialized) { Environment.SetEnvironmentVariable("KEKIRI_OUTPUT", "console,files"); lock (_lockObject) { if (!_isInitialized) { AutofacBootstrapper.Initialize(); _isInitialized = true; } } } return(Task.CompletedTask); }
public static IContainer GetBuiltWebProjectContainer() { var containerBuilder = new ContainerBuilder(); return(AutofacBootstrapper.Initialize(containerBuilder)); }
public void Setup() { AutofacBootstrapper.Initialize(); }
protected override IMvxIoCProvider CreateIocProvider() { return(new AutofacMvxIocProvider(AutofacBootstrapper.Initialize())); }
public void RunBeforeAnyTests() { AutofacBootstrapper.Initialize( c => c.Modules.Add(new FakesModule()) ); }