是否可以在Windows服务定位中托管ASP.NET Core 2 Web API NET Core 2应用程序

时间:2018-03-23 19:33:20

标签: asp.net-core kestrel-http-server

我有一个针对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 个答案:

答案 0 :(得分:3)

可以在Windows服务中托管.Net Core 2 Kestrel服务器,但您必须使用nssm。 Nssm是一种工具,可以轻松地将.net核心应用程序转换为服务。

它甚至允许您在服务关闭时从服务发送CTRL-C消息。这很重要,因为Core目前不支持来自Windows服务的传统OnStartOnStop消息。

将nssm指向启动应用程序的batchcmd文件。所有你需要的只是一个像 -

的班轮
dotnet myApplication.dll

Nssm会将其添加到您的Windows服务中。

有关详细信息,请参阅Hosting a .NET Core 2 Kestrel Server in a Windows Service