using Microsoft.Extensions.Hosting; using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Volo.Abp; namespace SettleAccount.HttpApi.Client.ConsoleTestApp; public class ConsoleTestAppHostedService : IHostedService { private readonly IConfiguration _configuration; public ConsoleTestAppHostedService(IConfiguration configuration) { _configuration = configuration; } public async Task StartAsync(CancellationToken cancellationToken) { using (var application = await AbpApplicationFactory.CreateAsync(options => { options.Services.ReplaceConfiguration(_configuration); options.UseAutofac(); })) { await application.InitializeAsync(); var demo = application.ServiceProvider.GetRequiredService(); await demo.RunAsync(); await application.ShutdownAsync(); } } public Task StopAsync(CancellationToken cancellationToken) { return Task.CompletedTask; } }