public static async Task Main(string[] args)
        {
            //获取运行环境变量
            var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
            //加载配置文件
            var configuration = new ConfigurationBuilder()
                                .SetBasePath(Directory.GetCurrentDirectory())                           //设置目录为当前目录
                                .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) //appsettings 配置文件
                                .AddJsonFile($"appsettings.{environment}.json", optional: true, reloadOnChange: true)
                                .Build();

            //使用 Serilog 记录日志
            Log.Logger = new LoggerConfiguration()
                         .ReadFrom.Configuration(configuration)//Serilog.Settings.Configuration
                         .CreateLogger();

            try
            {
                Log.Information("Host Creating... ");

                var host = CreateHostBuilder(args, configuration).Build();
                ////应用 DbMigrations DataSeed
                await InitDatabases.ApplyDbMigrationsWithDataSeedAsync(args, configuration, host);

                host.Run();
            }
            catch (Exception ex)
            {
                Log.Fatal(ex, $"Host terminated unexpectedly {ex.Message}");
            }
            finally
            {
                Log.CloseAndFlush();
            }
        }
Exemple #2
0
 private void OnDataSourceChanged()
 {
     _isDatabasesInitialized = false;
     InitDatabases.RaiseCanExecuteChanged();
 }