c# – 我怎么知道Kestrel何时开始收听?

我需要通知systemd我的服务已成功启动,并且启动后需要运行的任务要求服务器已经在目标Unix域套接字上侦听.

我正在使用IWebHost :: Run启动服务器,这是一个阻塞调用.此外,我无法找到任何明显的方法来设置委托或回调事件以成功初始化.

任何人?

解决方法:

>在.Net Core 1.x上运行IWebHost.Start()并假设服务器之后被初始化(而不是阻止线程的Run())是安全的.检查source.

var host = new WebHostBuilder()
    .UseKestrel()
    (...)
    .Build();

host.Start();

>如果您使用的是.NET Core 2.0 Preview 1(或更高版本),source is different,则同步方法不再可用,因此您应该等待IWebHost.StartAsync()并假设事后已准备就绪.

上一篇:multisim仿真 电流控制的电压源电路连接方法


下一篇:第k小数