gpt4 book ai didi

c# - 如何以编程方式停止 HostedService?

转载 作者:行者123 更新时间:2023-12-04 10:58:37 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Graceful shutdown with Generic Host in .NET Core 2.1

(3 个回答)


1年前关闭。




我正在构建一个 dotnet 核心 HostedService 应用程序。我需要在一段时间后停止申请。

我怎样才能阻止它?

我试图添加到 StartAsync 方法

await Task.Delay(5000);
Environment.Exit(0);

主要的:
static Task Main(string[] args)
{
var hostBuilder = new HostBuilder()
.ConfigureServices((hostContext, services) =>
{
services.AddHostedService<EventsService>();
})
.UseLogging();

return hostBuilder.RunConsoleAsync();
}

它不起作用。我怎样才能正确地阻止它?

最佳答案

RunConsoleAsync 接受 CancellationToken .您可以创建一个 CancellationTokenSource在给定的毫秒数后发出取消信号:

var cancellationTokenSource = new CancellationTokenSource(5000);

return hostBuilder.RunConsoleAsync(cancellationTokenSource.Token);

这样,应用程序会在大约五秒钟后关闭。

关于c# - 如何以编程方式停止 HostedService?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58998684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com