C# 如何以编程方式停止HostedService?
我正在构建一个dotnet核心托管服务应用程序。一段时间后我需要停止申请 我怎样才能阻止它 我已经尝试添加到StartAsync方法中C# 如何以编程方式停止HostedService?,c#,asp.net-core,asp.net-core-hosted-services,C#,Asp.net Core,Asp.net Core Hosted Services,我正在构建一个dotnet核心托管服务应用程序。一段时间后我需要停止申请 我怎样才能阻止它 我已经尝试添加到StartAsync方法中 await Task.Delay(5000); Environment.Exit(0); 主要内容: static Task Main(字符串[]args) { var hostBuilder=new hostBuilder() .ConfigureServices((主机上下文,服务)=> { services.AddHostedService(); })
await Task.Delay(5000);
Environment.Exit(0);
主要内容:
static Task Main(字符串[]args)
{
var hostBuilder=new hostBuilder()
.ConfigureServices((主机上下文,服务)=>
{
services.AddHostedService();
})
.UseLogging();
返回hostBuilder.RunConsoleAsync();
}
它不起作用。如何正确停止它?接受CancellationToken
。您可以创建一个CancellationTokenSource
,在给定的毫秒数后发出取消信号:
var cancellationTokenSource = new CancellationTokenSource(5000);
return hostBuilder.RunConsoleAsync(cancellationTokenSource.Token);
这样,应用程序将在大约五秒钟后关闭
var cancellationTokenSource = new CancellationTokenSource(5000);
return hostBuilder.RunConsoleAsync(cancellationTokenSource.Token);