Rim*_*mel 5 c# kestrel asp.net-core
我需要通知systemd我服务已成功启动,并且启动后需要运行的任务要求服务器已经在目标Unix域套接字上进行侦听。
我IWebHost::Run用来启动服务器,这是一个阻塞的调用。此外,我找不到任何明显的方法来设置委托或回调事件以成功进行初始化。
任何人?
这就是我现在最终选择的。似乎工作正常:
host.Start();
Log.Information("Press Ctrl+C to shut down...");
Console.CancelKeyPress += OnConsoleCancelKeyPress;
var waitHandles = new WaitHandle[] {
CancelTokenSource.Token.WaitHandle
};
WaitHandle.WaitAll(waitHandles);
Log.Information("Shutting down...");
Run Code Online (Sandbox Code Playgroud)
然后,在 Ctrl+C 事件处理程序中:
private static void OnConsoleCancelKeyPress(object sender, ConsoleCancelEventArgs e)
{
Log.Debug("Got Ctrl+C from console.");
CancelTokenSource.Cancel();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1370 次 |
| 最近记录: |