繁体   English   中英

托管服务和Singleton服务之间的.NET核心差异

[英].NET Core Difference between Hosted Service and Singleton Service

从.NET Core 2.1开始,我们现在可以使用托管服务运行后台任务。

我相信我们可以通过向具有Singleton范围的服务容器添加服务类来实现相同目的。

通过具有单一范围的服务提供托管服务有什么好处? 有哪些主要区别?

我们可以将单一作用域服务注入控制器并对每个新请求进行操作。 但是,托管服务无法做到这一点。

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

相反,注册为singleton的普通服务仅在首次解析时进行实例化,并在服务提供者在应用程序关闭期间处置时进行处理。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM