gpt4 book ai didi

c# - 如何以编程方式停止/退出/终止 dotnet 核心 HostBuilder 控制台应用程序?

转载 作者:行者123 更新时间:2023-12-04 11:13:50 24 4
gpt4 key购买 nike

我正在尝试创建一个 dotnet 核心控制台应用程序。该应用程序是一个简单的实用程序应用程序,应该启动,执行其操作并退出。
使用 Visual Studio 生成的标准控制台应用程序模板很容易实现。
但是现在我们有了 HostBuilder,它似乎更有吸引力,因为它带来了与 WebHostBuilder、DI、Loggin 等的统一体验。

但看起来这种方法仅适用于长时间运行的后台服务。它将一直启动并一直保持到外部终止事件(如 Ctrl-C)。

有没有办法从内部结束这种类型的应用程序?

最佳答案

您可以使用 IHostApplicationLifetime要停止运行您的应用程序,您可以从构造函数访问它并调用 StopApplication()方法。

IHostApplicationLifetime _lifeTime;
public MyClass(IHostApplicationLifetime lifeTime)
{
_lifeTime = lifeTime;
}
然后停止应用程序()
public void Exit()
{
_lifeTime.StopApplication();
}
已编辑 使用 IHostApplicationLifetimeIApplicationLifetime已弃用。

关于c# - 如何以编程方式停止/退出/终止 dotnet 核心 HostBuilder 控制台应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54912012/

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