ASPNETCORE托管/部署到WindowService的问题[服务显示正在启动]

上述代码是asp.net core web api 3.1,使用Topshelf框架构建windows服务。

 

 

安装服务后,服务功能运行正常,但服务状态一直处于“正在启动”,不能接收任何服务控制命令。

 

 

改动为异步方式后,服务可正常启动,且状态正常。期间使用输出日志的方式发现,在使用同步Run方法时,会阻塞程序执行,因此导致服务不能流转到下一个状态,且也不能接收任何控制命令。

 

 

总结:

使用异步RunAsync方法启动Host即可。异步RunAsync不会阻塞,且生命周期一直持续到程序关闭。

 

posted @ 2020-04-18 13:35  我的伙伴  阅读(298)  评论(0编辑  收藏  举报