public static IServiceProvider AddAutofacContainer(this IServiceCollection services, ContainerOptions settings, Action <Autofac.IContainer> action) { var installer = new ContainerInstaller(settings); var builder = installer.Install(); builder.Populate(services); var appContainer = builder.Build(); action(appContainer); return(new AutofacServiceProvider(appContainer)); }
private static void Go(string request, string entity, string bond, string preFix, Dictionary <string, bool> runGenerators) { var settings = new RequestResponsePairSettings() { ProjectFolder = @"C:\Projects\KudoCode.ProjectWate\", Folder = $"{entity}s", Response = $"{request}{entity}Response", Bound = bond, //In or Out Prefix = preFix, Entity = entity, Request = request, }; CodeGenSettingsModule.Parameters = new List <string>() { $"<%request%>:{settings.Request}", $"<%entity%>:{settings.Entity}", $"<%response%>:{settings.Response}", $"<%folder%>:{settings.Folder}", }; CodeGenSettingsModule.Settings = settings; ApplicationContext.Container = ContainerInstaller.BuildContainer(); foreach (var generator in runGenerators) { try { if (!generator.Value) { continue; } var x = ApplicationContext.Container .ResolveNamed <IGenSettings>(generator.Key); ApplicationContext.Container .Resolve <IGenerate>().Generate(x); } catch (Exception e) { Console.WriteLine(e); throw; } } }
public IServiceProvider ConfigureServices(IServiceCollection services) { services.AddControllers(); // Grab the configuration as an object services.Configure <ContainerOptions>(Configuration); var containerOptions = Configuration.Get <ContainerOptions>(); // Install the container, using our configuration var installer = new ContainerInstaller(containerOptions); var builder = installer.Install(); // Pull the .net core dependencies into the container, like controllers builder.Populate(services); // Overwrite the unitity service provider with autofac return(new AutofacServiceProvider(builder.Build())); }
/// <summary> /// Configures the services. /// </summary> /// <param name="services">The services.</param> /// <returns></returns> public IServiceProvider ConfigureServices(IServiceCollection services) { services.AddOptions(); services.Configure <ContainerOptions>(Configuration); var settings = Configuration.Get <ContainerOptions>(); services .AddMvc(mvcOptions => { mvcOptions.Filters.Add(new ModelstateValidationFilter()); mvcOptions.Filters.Add(new HandledResultFilter()); }) .AddJsonOptions(jsonOptions => { jsonOptions.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver(); }); var corsBuilder = new CorsPolicyBuilder(); //corsBuilder.AllowAnyHeader(); //corsBuilder.AllowAnyMethod(); //corsBuilder.AllowAnyOrigin(); //corsBuilder.AllowCredentials(); corsBuilder.WithOrigins(settings.CORS.Origins); services.AddCors(opts => { opts.AddPolicy(settings.CORS.PolicyName, corsBuilder.Build()); }); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Info { Title = "ScaffoldCore", Version = "v1" }); }); var installer = new ContainerInstaller(settings); var builder = installer.Install(); builder.Populate(services); ApplicationContainer = builder.Build(); return(new AutofacServiceProvider(ApplicationContainer)); }
public IServiceProvider ConfigureServices(IServiceCollection services) { services.AddOptions(); services.Configure <ContainerOptions>(Configuration); var settings = Configuration.Get <ContainerOptions>(); services .AddMvc() .AddJsonOptions(jsonOptions => { jsonOptions.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver(); }); var corsBuilder = new CorsPolicyBuilder(); corsBuilder.AllowAnyHeader(); corsBuilder.AllowAnyMethod(); corsBuilder.AllowAnyOrigin(); corsBuilder.WithOrigins(GetConfigArray("CORS:Origins").ToArray()); corsBuilder.AllowCredentials(); services.AddCors(opts => { opts.AddPolicy("DefaultCorsPolicy", corsBuilder.Build()); }); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Info { Title = "ePixelation.Scaffold", Version = "v1" }); }); // ********************************************* // INSTALL THE CONTAINER // ********************************************* var installer = new ContainerInstaller(settings); var builder = installer.Install(); builder.Populate(services); ApplicationContainer = builder.Build(); return(new AutofacServiceProvider(ApplicationContainer)); }
private static void ConfigureContainer(HttpConfiguration config) { var container = ContainerInstaller.Init(); config.DependencyResolver = new WindsorHttpDependencyResolver(container); }
public IServiceProvider ConfigureServices(IServiceCollection services) { services.AddMvc(options => { options.ReturnHttpNotAcceptable = true; options.OutputFormatters.RemoveType <HttpNoContentOutputFormatter>(); options.InputFormatters.Add(new XmlSerializerInputFormatter(new MvcOptions())); options.OutputFormatters.Add(new XmlSerializerOutputFormatter()); options.FormatterMappings.SetMediaTypeMappingForFormat("xml", "application/xml"); }); services.AddControllers(); #region Health Checks services.AddHealthChecks(); services.AddHealthChecksUI().AddInMemoryStorage(); #endregion #region Identity Server Config IdentityServerSettings identityServerSettings = new IdentityServerSettings(); Configuration.GetSection("IdentityServerSettings").Bind(identityServerSettings); services.AddAuthentication("Bearer") .AddIdentityServerAuthentication("Bearer", options => { options.ApiName = identityServerSettings.ApiName; options.Authority = identityServerSettings.Authority; }); #endregion #region Swagger Config SwaggerGenSettings swaggerGenSettings = new SwaggerGenSettings(); Configuration.GetSection("SwaggerGenSettings").Bind(swaggerGenSettings); services.AddSwaggerGen(options => { options.SwaggerDoc(swaggerGenSettings.SwaggerDoc.name, swaggerGenSettings.SwaggerDoc.OpenApiInfo); SecurityDefinition securityDefinition = swaggerGenSettings.SecurityDefinition; Settings.Swagger.AuthorizationCode authorizationCode = securityDefinition.OpenApiSecurityScheme.AuthorizationCode; options.AddSecurityDefinition(securityDefinition.name, new OpenApiSecurityScheme { Type = securityDefinition.OpenApiSecurityScheme.SecuritySchemeType, Flows = new OpenApiOAuthFlows { AuthorizationCode = new OpenApiOAuthFlow { AuthorizationUrl = new Uri(authorizationCode.AuthorizationUrl), TokenUrl = new Uri(authorizationCode.TokenUrl), Scopes = authorizationCode.Scopes } } }); options.OperationFilter <AuthorizeCheckOperationFilter>(); }); #endregion #region Autofac Composition root // Install the container, using our configuration ContainerInstaller installer = new ContainerInstaller(); ContainerBuilder builder = installer.Install(); // Pull the .net core dependencies into the container, like controllers builder.Populate(services); IContainer container = builder.Build(); #endregion // return the IServiceProvider implementation return(new AutofacServiceProvider(container)); }