加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-core – Namespace .AspNetCore.Hosting vs .Extensions

发布时间:2020-12-16 04:31:19 所属栏目:asp.Net 来源:网络整理
导读:在我的ASP.NET Core 2.0项目中,我一直在使用来自Microsoft.Extensions.Hosting命名空间的IHostingEnvironment和IApplicationLifetime. 在ASP.NET Core 2.1中,这些接口似乎同时位于Microsoft.AspNetCore.Hosting和Microsoft.Extensions.Hosting命名空间中.有
在我的ASP.NET Core 2.0项目中,我一直在使用来自Microsoft.Extensions.Hosting命名空间的IHostingEnvironment和IApplicationLifetime.

在ASP.NET Core 2.1中,这些接口似乎同时位于Microsoft.AspNetCore.Hosting和Microsoft.Extensions.Hosting命名空间中.有什么区别,我应该使用哪个命名空间?

仅供参考,我也在使用BackgroundService类,它现在是Microsoft.Extensions.Hosting命名空间中的(Core 2.1).

解决方法

自ASP.NET Core 2.0以来有 two hosting models:

>我们一直拥有的ASP.NET核心Web托管模型:它位于Microsoft.AspNetCore.Hosting命名空间中.
>一种新的通用托管模型,用于支持其他应用程序(如控制台应用程序和Windows服务)中的基础结构和交叉问题:它位于Microsoft.Extensions.Hosting命名空间中.

两种不同模型之间存在一些重复的接口和其他类型.对于Web应用程序,通常应使用Microsoft.AspNetCore.Hosting命名空间中的类型,但IHostedService,BackgroundService和其他相关类型除外.

仍在继续努力将类型和逻辑移动到通用托管模型,并改善两者之间的兼容性.例如,在将来的版本中,Web托管模型中的IHostingEnvironment和IApplicationLifetime可能是通用托管模型中的inherit from the same interfaces.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读