为了账号安全,请及时绑定邮箱和手机立即绑定

.NET Core 托管服务和单例服务的区别

.NET Core 托管服务和单例服务的区别

C#
HUWWW 2022-12-24 13:36:20
从 .NET Core 2.1 开始,我们现在可以使用托管服务运行后台任务。我相信我们可以通过向具有 Singleton 范围的服务容器添加一个服务类来实现同样的目标。与单例范围的服务相比,托管服务有什么好处?主要区别是什么?我们可以将单例范围的服务注入控制器,并在每个新请求中对其进行操作。但是,这对于托管服务是不可能的。
查看完整描述

1 回答

?
慕仙森

TA贡献1827条经验 获得超8个赞

托管服务实际上是一个单例服务。不同之处在于托管服务有特定的生命周期:当(web)主机启动时,托管服务启动,当(web)主机关闭时,托管服务也明确终止。这允许您包括启动或关闭行为,例如建立或终止与外部服务的连接。

相比之下,注册为单例的普通服务仅在首次解析时实例化,并在应用程序关闭期间处置服务提供者时处置。

因此,托管服务让您可以更好地控制在应用程序启动或停止时如何处理服务。但这并没有太多的魔力。


查看完整回答
反对 回复 2022-12-24
  • 1 回答
  • 0 关注
  • 103 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号