Topshelf与.NET Core Worker Service的比较

10

Topshelf与ASP.NET Core工作器服务有何不同?它们各自的优缺点是什么?它们都支持Windows和Linux吗?

3个回答

14

Topshelf可用于.net标准,这意味着您可以在.net core应用程序中使用它。但这并不意味着您可以在Linux上运行它,因为它依赖于Windows注册表。在Topshelf文档中,您可以看到它仅在Windows上运行。

另一方面,工作服务运行在.net core 3上,可以在Linux和Windows上运行。

因此,如果您有.net框架或.net core 2或1项目,请使用Topshelf;如果您有.net core 3项目,请使用工作服务。


2

TopShelf = .NET框架

Worker Service = .NET Core

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


谢谢,但是Topshelf支持.NETStandard 2.0,这不意味着它可以在.NET Core环境下运行吗? - kira
1
是的,它可能会起作用,但既然你已经有了开箱即用的支持,为什么还要这样做呢?这两个项目很相似。 - riffnl
我建议从 .Net 中提取出你的核心代码并开始使用 Worker Service。显而易见的原因是什么。 - Fandango68

1

Topshelf 可以与 Mono 配合使用,从而使得将服务部署到 Linux 成为可能。目前,该服务的安装特性仅限于 Windows,但其他人正在努力创建本地主机环境支持,以便安装和管理特性也能够使用。根据其文档所述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接