【发布时间】:2019-03-25 16:23:04
【问题描述】:
我正在使用 .NET Core 通用主机(不是 Web 主机)来构建一个控制台应用程序,该应用程序需要相当长时间的正常关闭。从源代码中
aspnet/Hosting/src/Microsoft.Extensions.Hosting/HostOptions
似乎很清楚ShutdownTimeout 选项可用于更改作为参数提供给ShutdownAsync 的取消令牌中的关闭超时。默认为 5 秒。
但是,我不知道在您通常放在 Program.cs 文件中的 HostBuilder 配置代码中指定此选项的代码的位置和方式。
有人可以发布一些代码来说明如何做到这一点吗?
【问题讨论】:
-
你在使用 ASP.NET Core 吗?如果是这样,请编辑您的问题并将
asp.net-core标签添加到它,以便用户更容易找到它。此外,如果是这种情况,也许您正在寻找 UseShutdownTimeout() 扩展方法,您可以在您的网络主机构建器对象中调用它来配置关闭时间的 TimeSpan。 -
不,我使用的是通用主机。我更新了问题以使其更清楚。
HostOptions类定义了一个属性public TimeSpan ShutdownTimeout { get; set; } = TimeSpan.FromSeconds(5);,但我不清楚如何在HostBuilder配置中应用它。 -
我应该进一步说明我使用的是 .NET Core 2.1.1。