From 4d347cddf6691f847c10d5b3f1643da723603800 Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 13 Apr 2020 14:48:16 +0800 Subject: [PATCH] Use IHostApplicationLifetime to manually terminate the console application. Resolve #3574 --- .../DbMigratorHostedService.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/DbMigratorHostedService.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/DbMigratorHostedService.cs index 730a7f7369..89b12bcc03 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/DbMigratorHostedService.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/DbMigratorHostedService.cs @@ -10,6 +10,13 @@ namespace MyCompanyName.MyProjectName.DbMigrator { public class DbMigratorHostedService : IHostedService { + private readonly IHostApplicationLifetime _hostApplicationLifetime; + + public DbMigratorHostedService(IHostApplicationLifetime hostApplicationLifetime) + { + _hostApplicationLifetime = hostApplicationLifetime; + } + public async Task StartAsync(CancellationToken cancellationToken) { using (var application = AbpApplicationFactory.Create(options => @@ -26,6 +33,8 @@ namespace MyCompanyName.MyProjectName.DbMigrator .MigrateAsync(); application.Shutdown(); + + _hostApplicationLifetime.StopApplication(); } }