Exemple #1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public virtual void ConfigureServices(WebApplicationBuilder builder)
        {
            services = builder.Services;

            services.AddOptions();

            services.AddSingleton(config);

            services.Configure <Configuration>(config.GetSection(Core.Extensions.Base.Configuration.SectionRoot));

            services.Configure <TOptions>(config.GetSection(AppConfigSectionRoot));

            services.AddSingleton <IAppConfiguration, TOptions>();

            Extensions.Base.Extension.Init(services, services.BuildServiceProvider());

            builder.AddExtCore(config[$"{Extensions.Base.Configuration.SectionRoot}:Folder"] != null ? $"{env.ContentRootPath}{System.IO.Path.DirectorySeparatorChar}{config[$"{Extensions.Base.Configuration.SectionRoot}:Folder"]}" : null, includingSubpaths: true);

            var carterModules = Ws.Core.Extensions.Base.Util.GetAllTypesOf <ICarterModule>();

            if (carterModules.Any())
            {
                builder.Services.AddCarter(configurator: _ => _
                                           .WithModules(carterModules.ToArray())
                                           );
            }
        }