2 回答

TA贡献1799条经验 获得超8个赞
我建议执行传入 CancellationToken 的 IWebHost.RunAsync 以便当 SIGINT 和 Ctrl+C 命令发送到您的应用程序时,您可以拦截和取消令牌,这将导致应用程序正常关闭。
请参阅以下代码示例:
public class Program
{
private static readonly CancellationTokenSource cts = new CancellationTokenSource();
protected Program()
{
}
public static int Main(string[] args)
{
Console.CancelKeyPress += OnExit;
return RunHost(configuration).GetAwaiter().GetResult();
}
protected static void OnExit(object sender, ConsoleCancelEventArgs args)
{
cts.Cancel();
}
static async Task<int> RunHost()
{
await new WebHostBuilder()
.UseStartup<Startup>()
.Build()
.RunAsync(cts.Token);
}
}
- 2 回答
- 0 关注
- 177 浏览
添加回答
举报