.Net 核心 2.0 控制台应用程序作为 windows 服务
.Net core 2.0 console app as a windows service
我正在尝试将 .Net Core 控制台应用程序设置为服务。使用 .Net 标准我通常使用 Topshelf 但这似乎不支持 .Net Core。
由于 Topshelf 不是一个选项,我可以如何 运行 将 .Net Core 控制台应用程序作为 Windows 服务?
我已经访问 https://github.com/PeterKottas/DotNetCore.WindowsService,这是生产环境的可行替代品吗?
在我们公司,我们使用 Non-Sucking Service Manager,到目前为止我没有遇到任何问题,您可能想看看。
有几个选项:
使用 Windows Compatibility Pack 将 ServiceBase
和相关的 API 带回 .NET Core,因此 TopShelf 可能开箱即用。 (该包在撰写本文时处于 RC 状态,并计划在大约一周后稳定发布)
TopShelf 现在支持 .NET Core,基于兼容包/windows 对较新 .NET Core 版本的兼容性。
https://github.com/PeterKottas/DotNetCore.WindowsService 似乎适用于很多用户,所以我建议尝试一下。
(3) 中的库是一个很好的 API 围绕 DasMulli.Win32.ServiceUtils,我为我们公司编写的它能够在生产中部署独立的 .NET Core 应用程序.到目前为止我们还没有遇到任何问题。
抽象windows服务基础设施和运行任意程序的其他服务主机——例如Non-Sucking Service Manager。请注意,这可能无法提供正常关闭以响应停止命令的好方法。
在 .net 核心中,您无法选择 运行 作为服务。但是,如果将控制台应用程序容器化,则可以将容器部署到任何地方,这与 运行ning 作为服务一样。从 .NET Core 2.1 开始,您可以使用 Host 和 HostBuilder 在您的控制台应用程序中管理 DI、日志记录、正常关闭等。看看:
我正在尝试将 .Net Core 控制台应用程序设置为服务。使用 .Net 标准我通常使用 Topshelf 但这似乎不支持 .Net Core。
由于 Topshelf 不是一个选项,我可以如何 运行 将 .Net Core 控制台应用程序作为 Windows 服务?
我已经访问 https://github.com/PeterKottas/DotNetCore.WindowsService,这是生产环境的可行替代品吗?
在我们公司,我们使用 Non-Sucking Service Manager,到目前为止我没有遇到任何问题,您可能想看看。
有几个选项:
使用 Windows Compatibility Pack 将
ServiceBase
和相关的 API 带回 .NET Core,因此 TopShelf 可能开箱即用。 (该包在撰写本文时处于 RC 状态,并计划在大约一周后稳定发布)TopShelf 现在支持 .NET Core,基于兼容包/windows 对较新 .NET Core 版本的兼容性。
https://github.com/PeterKottas/DotNetCore.WindowsService 似乎适用于很多用户,所以我建议尝试一下。
(3) 中的库是一个很好的 API 围绕 DasMulli.Win32.ServiceUtils,我为我们公司编写的它能够在生产中部署独立的 .NET Core 应用程序.到目前为止我们还没有遇到任何问题。
抽象windows服务基础设施和运行任意程序的其他服务主机——例如Non-Sucking Service Manager。请注意,这可能无法提供正常关闭以响应停止命令的好方法。
在 .net 核心中,您无法选择 运行 作为服务。但是,如果将控制台应用程序容器化,则可以将容器部署到任何地方,这与 运行ning 作为服务一样。从 .NET Core 2.1 开始,您可以使用 Host 和 HostBuilder 在您的控制台应用程序中管理 DI、日志记录、正常关闭等。看看: