我有一个针对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
?
答案 0 :(得分:3)
可以在Windows服务中托管.Net Core 2 Kestrel服务器,但您必须使用nssm。 Nssm是一种工具,可以轻松地将.net核心应用程序转换为服务。
它甚至允许您在服务关闭时从服务发送CTRL-C
消息。这很重要,因为Core目前不支持来自Windows服务的传统OnStart
和OnStop
消息。
将nssm指向启动应用程序的batch
或cmd
文件。所有你需要的只是一个像 -
dotnet myApplication.dll
Nssm会将其添加到您的Windows服务中。
有关详细信息,请参阅Hosting a .NET Core 2 Kestrel Server in a Windows Service。