From 6ba7d4dbf0afa5684bb1b0be5fa187e7a15d91db Mon Sep 17 00:00:00 2001 From: gdlcf88 Date: Mon, 13 Jun 2022 00:22:53 +0800 Subject: [PATCH] Update the DbMigrator project of the sample app --- .../DbMigratorHostedService.cs | 62 +++++++++-------- .../EShopSample.DbMigrator.csproj | 69 +++++++++++-------- .../src/EShopSample.DbMigrator/Program.cs | 49 ++++++------- 3 files changed, 98 insertions(+), 82 deletions(-) diff --git a/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/DbMigratorHostedService.cs b/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/DbMigratorHostedService.cs index 3249eda3..3fc10cbf 100644 --- a/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/DbMigratorHostedService.cs +++ b/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/DbMigratorHostedService.cs @@ -1,43 +1,49 @@ using System.Threading; using System.Threading.Tasks; +using EShopSample.Data; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; -using EShopSample.Data; using Serilog; using Volo.Abp; -namespace EShopSample.DbMigrator +namespace EShopSample.DbMigrator; + +public class DbMigratorHostedService : IHostedService { - public class DbMigratorHostedService : IHostedService + private readonly IHostApplicationLifetime _hostApplicationLifetime; + private readonly IConfiguration _configuration; + + public DbMigratorHostedService(IHostApplicationLifetime hostApplicationLifetime, IConfiguration configuration) { - private readonly IHostApplicationLifetime _hostApplicationLifetime; + _hostApplicationLifetime = hostApplicationLifetime; + _configuration = configuration; + } - public DbMigratorHostedService(IHostApplicationLifetime hostApplicationLifetime) + public async Task StartAsync(CancellationToken cancellationToken) + { + using (var application = await AbpApplicationFactory.CreateAsync(options => + { + options.Services.ReplaceConfiguration(_configuration); + options.UseAutofac(); + options.Services.AddLogging(c => c.AddSerilog()); + })) { - _hostApplicationLifetime = hostApplicationLifetime; - } + await application.InitializeAsync(); - public async Task StartAsync(CancellationToken cancellationToken) - { - using (var application = await AbpApplicationFactory.CreateAsync(options => - { - options.UseAutofac(); - options.Services.AddLogging(c => c.AddSerilog()); - })) - { - await application.InitializeAsync(); - - await application - .ServiceProvider - .GetRequiredService() - .MigrateAsync(); - - await application.ShutdownAsync(); - - _hostApplicationLifetime.StopApplication(); - } + await application + .ServiceProvider + .GetRequiredService() + .MigrateAsync(); + + await application.ShutdownAsync(); + + _hostApplicationLifetime.StopApplication(); } + } - public Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask; + public Task StopAsync(CancellationToken cancellationToken) + { + return Task.CompletedTask; } -} +} \ No newline at end of file diff --git a/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/EShopSample.DbMigrator.csproj b/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/EShopSample.DbMigrator.csproj index 6d7ea54f..d7d19cc5 100644 --- a/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/EShopSample.DbMigrator.csproj +++ b/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/EShopSample.DbMigrator.csproj @@ -1,34 +1,43 @@ - - - - Exe - net6.0 - - - - - - - - - PreserveNewest - Always - - - - - - - - - - - - - - - + + + + Exe + net6.0 + + + + + + + + + + PreserveNewest + Always + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/Program.cs b/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/Program.cs index dd877906..b99ff760 100644 --- a/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/Program.cs +++ b/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/Program.cs @@ -1,38 +1,39 @@ -using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; using Serilog; using Serilog.Events; -namespace EShopSample.DbMigrator +namespace EShopSample.DbMigrator; + +class Program { - class Program + static async Task Main(string[] args) { - static async Task Main(string[] args) - { - Log.Logger = new LoggerConfiguration() - .MinimumLevel.Information() - .MinimumLevel.Override("Microsoft", LogEventLevel.Warning) - .MinimumLevel.Override("Volo.Abp", LogEventLevel.Warning) + Log.Logger = new LoggerConfiguration() + .MinimumLevel.Information() + .MinimumLevel.Override("Microsoft", LogEventLevel.Warning) + .MinimumLevel.Override("Volo.Abp", LogEventLevel.Warning) #if DEBUG - .MinimumLevel.Override("EShopSample", LogEventLevel.Debug) + .MinimumLevel.Override("EShopSample", LogEventLevel.Debug) #else .MinimumLevel.Override("EShopSample", LogEventLevel.Information) #endif - .Enrich.FromLogContext() - .WriteTo.File(Path.Combine(Directory.GetCurrentDirectory(), "Logs/logs.txt")) - .WriteTo.Console() - .CreateLogger(); - - await CreateHostBuilder(args).RunConsoleAsync(); - } + .Enrich.FromLogContext() + .WriteTo.Async(c => c.File("Logs/logs.txt")) + .WriteTo.Async(c => c.Console()) + .CreateLogger(); - public static IHostBuilder CreateHostBuilder(string[] args) => - Host.CreateDefaultBuilder(args) - .ConfigureServices((hostContext, services) => - { - services.AddHostedService(); - }); + await CreateHostBuilder(args).RunConsoleAsync(); } -} + + public static IHostBuilder CreateHostBuilder(string[] args) => + Host.CreateDefaultBuilder(args) + .AddAppSettingsSecretsJson() + .ConfigureLogging((context, logging) => logging.ClearProviders()) + .ConfigureServices((hostContext, services) => + { + services.AddHostedService(); + }); +} \ No newline at end of file