我有一个针对 netcoreapp2.0
的ASP.NET Core Web Web Api应用程序 .
我想在Windows服务中托管Kestrel服务器 .
我见过的这个例子https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/windows-service?tabs=aspnetcore2x适用于在.NET Framework 4.6.1上运行的Core Web API .
如何在Windows服务中托管我的应用程序,但仍然以 netcoreapp2.0
为目标?
1 回答
可以在Windows服务中托管.Net Core 2 Kestrel服务器,但您必须使用nssm . Nssm是一种工具,可以轻松地将.net核心应用程序转换为服务 .
它甚至允许您在服务关闭时从服务发送
CTRL-C
消息 . 这很重要,因为Core目前不支持来自Windows服务的传统OnStart
和OnStop
消息 .将nssm指向启动应用程序的
batch
或cmd
文件 . 所有你需要的只是一个像 -Nssm会将其添加到您的Windows服务中 .
有关详细信息,请参阅Hosting a .NET Core 2 Kestrel Server in a Windows Service .