首页 文章

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

提问于
浏览
1

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

  • 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 .

相关问题