Ejemplo n.º 1
0
        public static async Task Main(string[] args)
        {
            if (args.Length > 0)
            {
                Environment.SetEnvironmentVariable("SAMPLEAPP_ENVIRONMENT", args[0]);
            }

            var env = Environment.GetEnvironmentVariable("SAMPLEAPP_ENVIRONMENT") ?? "Development";

            env = env.ToLower();

            var endpointName = typeof(Program).Namespace;

            if (!string.IsNullOrEmpty(endpointName))
            {
                Console.Title = $"{endpointName} [{env}]";
            }

            _configuration = new ConfigurationBuilder()
                             .SetBasePath(Directory.GetCurrentDirectory())
                             .AddEnvironmentVariables("SAMPLEAPP_")
                             .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                             .AddJsonFile($"appsettings.{env}.json", optional: true, reloadOnChange: true)
                             .AddJsonFile($"config/appsettings.{env}.secrets.json", optional: true, reloadOnChange: true)
                             .Build();

            var ordersDomainOptions = GetOptions <OrdersDomainOptions>(_configuration);
            var ordersClientOptions = GetOptions <OrdersClientOptions>(_configuration);

            var host = Host
                       .CreateDefaultBuilder(args)
                       .UseConsoleLifetime()
                       .AddSharedInfrastructure(_configuration, endpointName)
                       .ConfigureServices(
                services =>
            {
                services
                .AddOrdersDomain(ordersDomainOptions)
                .AddOrdersClient(ordersClientOptions);
            })
                       .ConfigureAppConfiguration(
                (hostingContext, builder) =>
            {
                hostingContext.HostingEnvironment.EnvironmentName = env;
            })
                       .Build();

            InfrastructureModule.Initialize(host);

            await host.RunAsync();
        }
Ejemplo n.º 2
0
        public static void Main(string[] args)
        {
            if (args.Length > 0)
            {
                Environment.SetEnvironmentVariable("SAMPLEAPP_ENVIRONMENT", args[0]);
            }

            var env = Environment.GetEnvironmentVariable("SAMPLEAPP_ENVIRONMENT") ?? "Development";

            env = env.ToLower();

            var configuration = new ConfigurationBuilder()
                                .SetBasePath(Directory.GetCurrentDirectory())
                                .AddEnvironmentVariables("SAMPLEAPP_")
                                .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                                .AddJsonFile($"appsettings.{env}.json", optional: true, reloadOnChange: true)
                                .AddJsonFile($"config/appsettings.{env}.secrets.json", optional: true, reloadOnChange: true)
                                .Build();

            var ordersClientOptions = GetOptions <OrdersClientOptions>(configuration);

            var host = Host
                       .CreateDefaultBuilder(args)
                       .AddSharedInfrastructure(configuration, typeof(Program).Namespace)
                       .ConfigureServices(
                services =>
            {
                services
                .AddScoped <OrdersService>()
                .AddSingleton <WeatherForecastService>()
                .AddOrdersClient(ordersClientOptions);
            })
                       .ConfigureWebHostDefaults(
                webBuilder =>
            {
                webBuilder.UseStartup <Startup>();
            })
                       .Build();

            InfrastructureModule.Initialize(host);

            host.Run();
        }