.net core Windows Service vs Worker 模板
Posted
技术标签:
【中文标题】.net core Windows Service vs Worker 模板【英文标题】:.net core Windows Service vs Worker Template 【发布时间】:2021-04-27 08:26:54 【问题描述】:此问题与this SO question 接续。我只是想了解使用 this post 中的 ServiceBase 类编写的 Windows 服务与使用 WorkerTemplate 编写的 Windows 服务之间的区别,完成 here。
这个问题的原因是前者的实现是在docker上工作的,而后者不是。
如果我理解正确,WorkerTemplate 是一种尝试,通过提供package 来更轻松地开发 Windows 服务()。那为什么当我使用 ServiceBase 和 IHostingLifetime 运行应用程序时,它在容器中运行良好,而当我使用 WorkerTemplate 时,它会抛出服务超时错误。
注意:这两种实现在本地以及在服务器上部署时都可以正常工作。此行为仅在容器中观察到。
【问题讨论】:
【参考方案1】:在我看来,第一个是用来托管 asp.net 核心应用程序作为 windows 服务。第二个是将应用程序托管为 Web 应用程序。
这是运行工作器服务的两种方式之间的主要区别。 asp.net core worker 服务也是同一个。当 asp.net core 应用启动时,asp.net core 会运行 work 服务。
容器无法运行 windows 服务,但可以运行 asp.net core 应用程序。
【讨论】:
以上是关于.net core Windows Service vs Worker 模板的主要内容,如果未能解决你的问题,请参考以下文章
从 .Net Core Stateless Service 调用 .Net 框架 Service Fabric Actor
.NET Core 3.1 通过 Web Service 读写 Salesforce 数据
NodeJs &.net core connect Azure service bus
Asp.Net Core:IAuthorizationFilter 和 Authentication Service 的执行顺序