Browse Source

Use IHostApplicationLifetime to manually terminate the console application.

Resolve #3574
pull/3577/head
maliming 7 years ago
parent
commit
4d347cddf6
  1. 9
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/DbMigratorHostedService.cs

9
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<MyProjectNameDbMigratorModule>(options =>
@ -26,6 +33,8 @@ namespace MyCompanyName.MyProjectName.DbMigrator
.MigrateAsync();
application.Shutdown();
_hostApplicationLifetime.StopApplication();
}
}

Loading…
Cancel
Save