using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using System; using System.Threading; using System.Threading.Tasks; namespace FastGithub.Upgrade { /// /// 升级后台服务 /// sealed class UpgradeHostedService : BackgroundService { private readonly UpgradeService upgradeService; private readonly ILogger logger; /// /// 升级后台服务 /// /// public UpgradeHostedService( UpgradeService upgradeService, ILogger logger) { this.upgradeService = upgradeService; this.logger = logger; } /// /// 检测版本 /// /// /// protected override async Task ExecuteAsync(CancellationToken stoppingToken) { try { await this.upgradeService.UpgradeAsync(stoppingToken); } catch (Exception ex) { this.logger.LogWarning($"升级失败:{ex.Message}"); } } } }