Aza*_*Haq 5 .net c# asp.net-mvc .net-core asp.net-core
从.NET Core 2.1开始,我们现在可以使用托管服务运行后台任务。
我相信我们可以通过将服务类添加到具有Singleton范围的服务容器来实现相同的目的。
与具有单例作用域的服务相比,拥有托管服务有什么好处?主要区别是什么?
我们可以将单例作用域服务注入控制器,并在每个新请求中对其进行操作。但是,这对于托管服务是不可能的。
托管服务实际上是单例服务。区别在于,托管服务具有特定的生存期:(web)主机启动时,托管服务将启动,而(web)主机关闭时,托管服务也将明确终止。这允许您包括启动或关闭行为,例如,建立或终止与外部服务的连接。
相比之下,注册为单例的常规服务仅在首次解析它们时实例化,并在应用程序关闭期间处置服务提供商时处置。
这样,在应用程序启动或停止时,托管服务使您可以更好地控制如何处理服务。但是与此并没有太多魔术。
| 归档时间: |
|
| 查看次数: |
220 次 |
| 最近记录: |