小编Adr*_*tor的帖子

BackgroundService 上的 StopAsync 与 ExecuteAsync

我正在使用托管服务执行一些长时间运行的操作(检查打开的连接)。

\n\n

在使用 IHostedService 和 BackgroundService 类在微服务中实现后台任务的示例中,有两行在应用程序关闭时记录信息(列出的代码中双引号)

\n\n

但在我的场景中,我永远无法访问第二个日志信息?\n我想知道为什么 Microsoft 会在无法访问的情况下放置第二行日志记录。谁能给我解释一下吗?

\n\n
public class GracePeriodManagerService : BackgroundService {        \n    private readonly ILogger<GracePeriodManagerService> _logger;\n    private readonly OrderingBackgroundSettings _settings;\n\n    private readonly IEventBus _eventBus;\n\n    public GracePeriodManagerService(IOptions<OrderingBackgroundSettings>> settings,\n                                     IEventBus eventBus,\n                                     ILogger<GracePeriodManagerService> logger)\n    {\n        //Constructor\xe2\x80\x99s parameters validations...       \n    }\n\n    protected override async Task ExecuteAsync(CancellationToken stoppingToken)\n    {\n        _logger.LogDebug($"GracePeriodManagerService is starting.");\n\n         stoppingToken.Register(() => \n                _logger.LogDebug($" GracePeriod background task is stopping."));\n\n        while (!stoppingToken.IsCancellationRequested)\n        {\n            _logger.LogDebug($"GracePeriod task doing background work.");\n\n            // This eShopOnContainers method is querying a database …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core-2.1

5
推荐指数
0
解决办法
1558
查看次数

标签 统计

asp.net-core-2.1 ×1

c# ×1