首页 > 其他分享 >IHostedService(BackgroundService)的启动和停止顺序

IHostedService(BackgroundService)的启动和停止顺序

时间:2022-09-01 10:01:31浏览次数:69  
标签:CancellationToken 顺序 false 启动 hostedServices BackgroundService cancellationToken

一句话总结: 按照Add顺序启动, 先启动, 后停止.
Host 源代码

public async Task StartAsync(CancellationToken cancellationToken = default(CancellationToken))
{
	_hostedServices = Services.GetService<IEnumerable<IHostedService>>();
	foreach (IHostedService hostedService in _hostedServices)
	{
		await hostedService.StartAsync(combinedCancellationToken).ConfigureAwait(continueOnCapturedContext: false);
	}
}
public async Task StopAsync(CancellationToken cancellationToken = default(CancellationToken))
{
	foreach (IHostedService item3 in _hostedServices.Reverse())
	{
	    await item3.StopAsync(token).ConfigureAwait(continueOnCapturedContext: false);
	}
}

标签:CancellationToken,顺序,false,启动,hostedServices,BackgroundService,cancellationToken
From: https://www.cnblogs.com/calvinK/p/16645474.html

相关文章