Topshelf 与 .net 核心工作者服务

Topshelf vs .net core worker service

Topshelf 与 ASP.NET Core Worker 服务有何不同? 他们每个人的优缺点是什么?他们都支持Windows和Linux吗?

TopShelf = .NET 框架

Worker 服务 = .NET Core

甚至还有关于如何从 TopShelf 迁移到 Worker Service 的文章

Topshelf 在 .net 标准中可用,这意味着您可以在 .net 核心应用程序中使用它。这并不意味着您可以 运行 在 Linux 上,因为它依赖于 Windows registry. In the Topshelf docs,您可以看到它 运行 仅在 Windows 上。

另一方面,.net core 3 上的 worker 服务 运行 他们可以 运行 Linux 和 Windows。

因此,如果您有 .net framework 或 .net core 2 或 1 项目,请继续使用 Topshelf,如果您有 .net core 3 项目,请继续使用 worker 服务。

Topshelf 与 Mono 配合使用,可以将服务部署到 Linux。服务安装功能目前只有 Windows,但其他人正在努力创建本地主机环境支持,以便安装和管理功能也可用。 According to its docs