【问题标题】:How to disable Ctrl+C in ASP.NET Core host如何在 ASP.NET Core 主机中禁用 Ctrl+C
【发布时间】:2021-06-04 16:54:29
【问题描述】:
信息:Microsoft.Hosting.Lifetime[0]
      现在收听:http://0.0.0.0:8080
信息:Microsoft.Hosting.Lifetime[0]
      申请开始。按 Ctrl+C 关闭。

我不想使用 Ctrl + C 来关闭应用程序

【问题讨论】:

  • ctrl+C 有什么问题?你能详细说明一下吗?

标签: asp.net-core


【解决方案1】:

你可以在后台运行你的任务,或者通过documentation,但我更喜欢在你的程序名称后面使用&,它将在后台执行(如果是linux),here你有windows的解决方案

dotnet core run &

因为是在后台比较难打断,要找pid(linux,mac os)或者打开控制任务管理器(windows)

【讨论】:

  • 不,我的意思是在应用程序代码中 Host.CreateDefaultBuilder().ConfigureWebHostDefaults (...
【解决方案2】:

您可以使用 IWebHost.RunAsync() 方法。此版本不等待CTRL+C

一个例子:

var host = new WebHostBuilder() 
.UseKestrel(opt => {  })
.UseStartup<Startup>()
.Build();

CancellationTokenSource cts = new CancellationTokenSource();
await host.RunAsync(cts.Token);

在输出中,您将不会再看到消息“应用程序已启动。按 Ctrl+C 关闭。”。当你按下 CTRL+C 时,它会像往常一样从输入管道路由到主线程。

Starting HTTP Server on port 8080..
Hosting environment: Production
Content root path: D:\wwwroot\
Now listening on: http://0.0.0.0:8080
Now listening on: http://localhost:8080

【讨论】:

    猜你喜欢
    • 2021-10-02
    • 1970-01-01
    • 2018-11-28
    • 1970-01-01
    • 2020-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多