内容简介:在Visual Studio 2013、2015、2017中,使用的是Nuget包管理器对第三方组件进行管理升级的。而且 Nuget 是我们使用.NET Core的一项基础设施,.NET的软件包管理器NuGet.org是一项面向全球用户搭建的服务,不论用户身在何处,NuGet.org都应该有能力提供高性能的服务。2017 年微软针对中国访问Nuget服务的访问慢的问题进行了优化,把Blob存储备份到中国本地,并使用本地CDN服务商来处理软件包下载请求,具体参考Nuget包的API分为搜索、注册和存储三大类。
在Visual Studio 2013、2015、2017中,使用的是Nuget包管理器对第三方组件进行管理升级的。而且 Nuget 是我们使用.NET Core的一项基础设施,.NET的软件包管理器NuGet.org是一项面向全球用户搭建的服务,不论用户身在何处,NuGet.org都应该有能力提供高性能的服务。2017 年微软针对中国访问Nuget服务的访问慢的问题进行了优化,把Blob存储备份到中国本地,并使用本地CDN服务商来处理软件包下载请求,具体参考 https://blog.nuget.org/20170907/Changes-to-NuGet-dot-org-service-management-and-performance-improvements-in-China.html 。
Nuget包的API分为搜索、注册和存储三大类。其中使用最为频繁的是注册和存储两类API。华为云镜像站点 https://mirrors.huaweicloud.com/ 的Nuget镜像 包含了缓存的反向代理来加速这些API。 使用这个镜像可以在华为云和在应用开发可实现如下加速效果:
- 对于包的搜索 : 无加速效果 。搜索组件包是由额外的域名提供的,因此无法提供加速。本加速仅针对
api.nuget.org
进行,目前仅支持 v3 版本的 api 以及包存储 - 安装、卸载、升级包等 : 完全加速 。所有包信息均按天缓存在服务器上,每天每个包第一次访问为代理访问,随后均为本地访问
- 包安装、升级下载文件 : 完全加速 。每个包的每个版本第一次下载微代理访问,之后所有同样版本、ID的包均为本地访问
华为云的镜像服务需要登陆后才能看到镜像地址:
https://repo.huaweicloud.com/repository/nuget/v3/index.json
使用方法:
在Visual Studio中点击“ 工具 ”-“ 选项 ”,左侧找到“ Nuget包管理器 ”-“ 程序包源 ”,确认您的列表中包含有 V3版的API ( https://api.nuget.org/v3/index.json
)。华为云的加速服务仅支持 V3版包源 ,如果没有这个记录,那么您可能无法使用加速服务,请升级您的 Nuget包管理器 。
点击添加按钮,然后在下方输入信息:
- 名称:huaweicloud
- 包地址: https://repo.huaweicloud.com/repository/nuget/v3/index.json
输入后,点击 更新 按钮更新,最后确认并关闭配置。
上面设置后,Nuget的配置文件里就加入了相关配置,文件位置在:C:\Users\geffzhang\AppData\Roaming\NuGet\Nuget.config ,其中geffzhang 是我的电脑账号,更换你的账号,下面是我的Nuget 配置样例:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value=" https://api.nuget.org/v3/index.json" protocolVersion="3" />
<add key="orchardcore" value=" https://www.myget.org/F/orchardcore-preview/api/v3/index.json" />
<add key="tarsnet" value=" https://www.myget.org/f/tarsnet" />
<add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\" />
<add key="huaweicloud" value=" https://repo.huaweicloud.com/repository/nuget/v3/index.json" />
</packageSources>
<packageRestore>
<add key="enabled" value="True" />
<add key="automatic" value="True" />
</packageRestore>
<bindingRedirects>
<add key="skip" value="False" />
</bindingRedirects>
<packageManagement>
<add key="format" value="0" />
<add key="disabled" value="False" />
</packageManagement>
</configuration>
上述操作我们都是在windows 10 上的,特别是做.NET Core的开发,很多同学喜欢用Mac,如果是Mac 与 Linux 中的路径是,那么路径是在 ~/.nuget/NuGet/NuGet.Config。
上面的配置是全局的配置, 如果我们的项目使用的是华为云的DevCloud 的持续集成可以在项目中引入Nuget.config来完成:
<?xml version="1.0" encoding="utf-8"?>
< configuration>
<packageSources>
<add key="huaweicloud" value=" https://repo.huaweicloud.com/repository/nuget/v3/index.json" />
</packageSources>
<packageRestore>
<add key="enabled" value="True" />
<add key="automatic" value="True" />
</packageRestore>
<bindingRedirects>
<add key="skip" value="False" />
</bindingRedirects>
<packageManagement>
<add key="format" value="0" />
<add key="disabled" value="False" />
</packageManagement>
< /configuration>
当你使用dotnet restore 时也可以通过 –s 指定使用华为云镜像,下面我们就用这种方法来测试下华为云的镜像的速度,下面我用两个项目来测试,测试结果表明 华为云的镜像的速度还是要比官方的要快:
D:\workshop\Github\abp\modules\account>dotnet restore -s https://repo.huaweicloud.com/repository/nuget/v3/index.json
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.Contracts\Volo.Abp.AspNetCore.Mvc.Contracts.csproj 的包...
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.ApiVersioning.Abstractions\Volo.Abp.ApiVersioning.Abstractions.csproj 的包...
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Bundling\Volo.Abp.AspNetCore.Mvc.UI.Bundling.csproj 的包...
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.csproj 的包...
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Packages\Volo.Abp.AspNetCore.Mvc.UI.Packages.csproj 的包...
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc\Volo.Abp.AspNetCore.Mvc.csproj 的包...
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared\Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.csproj 的包...
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI\Volo.Abp.AspNetCore.Mvc.UI.csproj 的包...
D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.Contracts\Volo.Abp.AspNetCore.Mvc.Contracts.csproj 的还原在 446.67 ms 内完成。
D:\workshop\Github\abp\framework\src\Volo.Abp.ApiVersioning.Abstractions\Volo.Abp.ApiVersioning.Abstractions.csproj 的还原在 446.67 ms 内完成。
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore\Volo.Abp.AspNetCore.csproj 的包...
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Auditing\Volo.Abp.Auditing.csproj 的包...
D:\workshop\Github\abp\framework\src\Volo.Abp.Auditing\Volo.Abp.Auditing.csproj 的还原在 68.02 ms 内完成。
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Authorization\Volo.Abp.Authorization.csproj 的包...
D:\workshop\Github\abp\framework\src\Volo.Abp.Authorization\Volo.Abp.Authorization.csproj 的还原在 49.81 ms 内完成。
D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore\Volo.Abp.AspNetCore.csproj 的还原在 203.87 ms 内完成。
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.AutoMapper\Volo.Abp.AutoMapper.csproj 的包...
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Caching\Volo.Abp.Caching.csproj 的包...
D:\workshop\Github\abp\framework\src\Volo.Abp.Caching\Volo.Abp.Caching.csproj 的还原在 88.01 ms 内完成。
D:\workshop\Github\abp\framework\src\Volo.Abp.AutoMapper\Volo.Abp.AutoMapper.csproj 的还原在 80.04 ms 内完成。
D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc\Volo.Abp.AspNetCore.Mvc.csproj 的还原在 910.08 ms 内完成。
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Data\Volo.Abp.Data.csproj 的包...
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Core\Volo.Abp.Core.csproj 的包...
D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared\Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.csproj 的还原在 921.41 ms 内完成。
D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Packages\Volo.Abp.AspNetCore.Mvc.UI.Packages.csproj 的还原在 955.39 ms 内完成。
D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Bundling\Volo.Abp.AspNetCore.Mvc.UI.Bundling.csproj 的还原在 954.79 ms 内完成。
D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI\Volo.Abp.AspNetCore.Mvc.UI.csproj 的还原在 923.08 ms 内完成。
D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.csproj 的还原在 970.79 ms 内完成。
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Ddd.Application\Volo.Abp.Ddd.Application.csproj 的包...
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.EventBus\Volo.Abp.EventBus.csproj 的包...
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Ddd.Domain\Volo.Abp.Ddd.Domain.csproj 的包...
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Guids\Volo.Abp.Guids.csproj 的包...
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Http.Abstractions\Volo.Abp.Http.Abstractions.csproj 的包...
D:\workshop\Github\abp\framework\src\Volo.Abp.Core\Volo.Abp.Core.csproj 的还原在 116.76 ms 内完成。
D:\workshop\Github\abp\framework\src\Volo.Abp.Data\Volo.Abp.Data.csproj 的还原在 116.35 ms 内完成。
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Http\Volo.Abp.Http.csproj 的包...
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Json\Volo.Abp.Json.csproj 的包...
D:\workshop\Github\abp\framework\src\Volo.Abp.Ddd.Application\Volo.Abp.Ddd.Application.csproj 的还原在 93.06 ms 内完成。
D:\workshop\Github\abp\framework\src\Volo.Abp.EventBus\Volo.Abp.EventBus.csproj 的还原在 92.87 ms 内完成。
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Localization.Abstractions\Volo.Abp.Localization.Abstractions.csproj 的包...
D:\workshop\Github\abp\framework\src\Volo.Abp.Http.Abstractions\Volo.Abp.Http.Abstractions.csproj 的还原在 85.25 ms 内完成。
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Localization\Volo.Abp.Localization.csproj 的包...
D:\workshop\Github\abp\framework\src\Volo.Abp.Guids\Volo.Abp.Guids.csproj 的还原在 115 ms 内完成。
D:\workshop\Github\abp\framework\src\Volo.Abp.Ddd.Domain\Volo.Abp.Ddd.Domain.csproj 的还原在 130.02 ms 内完成。
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.MultiTenancy.Abstractions\Volo.Abp.MultiTenancy.Abstractions.csproj 的包...
D:\workshop\Github\abp\framework\src\Volo.Abp.Http\Volo.Abp.Http.csproj 的还原在 96.88 ms 内完成。
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Security\Volo.Abp.Security.csproj 的包...
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.ObjectMapping\Volo.Abp.ObjectMapping.csproj 的包...
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Settings\Volo.Abp.Settings.csproj 的包...
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Serialization\Volo.Abp.Serialization.csproj 的包...
D:\workshop\Github\abp\framework\src\Volo.Abp.Json\Volo.Abp.Json.csproj 的还原在 92.34 ms 内完成。
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Threading\Volo.Abp.Threading.csproj 的包...
D:\workshop\Github\abp\framework\src\Volo.Abp.Localization.Abstractions\Volo.Abp.Localization.Abstractions.csproj 的还原在 90.79 ms 内完成。
D:\workshop\Github\abp\framework\src\Volo.Abp.Localization\Volo.Abp.Localization.csproj 的还原在 120.39 ms 内完成。
D:\workshop\Github\abp\framework\src\Volo.Abp.MultiTenancy.Abstractions\Volo.Abp.MultiTenancy.Abstractions.csproj 的还原在 106.73 ms 内完成。
D:\workshop\Github\abp\framework\src\Volo.Abp.Security\Volo.Abp.Security.csproj 的还原在 83.47 ms 内完成。
D:\workshop\Github\abp\framework\src\Volo.Abp.Serialization\Volo.Abp.Serialization.csproj 的还原在 81.14 ms 内完成。
D:\workshop\Github\abp\framework\src\Volo.Abp.ObjectMapping\Volo.Abp.ObjectMapping.csproj 的还原在 90.69 ms 内完成。
D:\workshop\Github\abp\framework\src\Volo.Abp.Settings\Volo.Abp.Settings.csproj 的还原在 92.39 ms 内完成。
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.UI.Navigation\Volo.Abp.UI.Navigation.csproj 的包...
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Timing\Volo.Abp.Timing.csproj 的包...
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.UI\Volo.Abp.UI.csproj 的包...
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Validation\Volo.Abp.Validation.csproj 的包...
D:\workshop\Github\abp\framework\src\Volo.Abp.Threading\Volo.Abp.Threading.csproj 的还原在 85.68 ms 内完成。
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Uow\Volo.Abp.Uow.csproj 的包...
正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.VirtualFileSystem\Volo.Abp.VirtualFileSystem.csproj 的包...
正在还原 D:\workshop\Github\abp\modules\account\src\Volo.Abp.Account.Web\Volo.Abp.Account.Web.csproj 的包...
正在还原 D:\workshop\Github\abp\modules\identityserver\src\Volo.Abp.IdentityServer.Domain.Shared\Volo.Abp.IdentityServer.Domain.Shared.csproj 的包...
D:\workshop\Github\abp\framework\src\Volo.Abp.Timing\Volo.Abp.Timing.csproj 的还原在 128.06 ms 内完成。
D:\workshop\Github\abp\framework\src\Volo.Abp.UI\Volo.Abp.UI.csproj 的还原在 128.03 ms 内完成。
D:\workshop\Github\abp\framework\src\Volo.Abp.VirtualFileSystem\Volo.Abp.VirtualFileSystem.csproj 的还原在 91.36 ms 内完成。
D:\workshop\Github\abp\framework\src\Volo.Abp.UI.Navigation\Volo.Abp.UI.Navigation.csproj 的还原在 147.08 ms 内完成。
D:\workshop\Github\abp\framework\src\Volo.Abp.Validation\Volo.Abp.Validation.csproj 的还原在 143.89 ms 内完成。
D:\workshop\Github\abp\framework\src\Volo.Abp.Uow\Volo.Abp.Uow.csproj 的还原在 111.94 ms 内完成。
D:\workshop\Github\abp\modules\identityserver\src\Volo.Abp.IdentityServer.Domain.Shared\Volo.Abp.IdentityServer.Domain.Shared.csproj 的还原在 107.53 ms 内完成。
正在还原 D:\workshop\Github\abp\modules\permission-management\src\Volo.Abp.PermissionManagement.Domain.Shared\Volo.Abp.PermissionManagement.Domain.Shared.csproj 的包...
正在还原 D:\workshop\Github\abp\modules\identity\src\Volo.Abp.Identity.Domain.Shared\Volo.Abp.Identity.Domain.Shared.csproj 的包...
正在还原 D:\workshop\Github\abp\modules\identityserver\src\Volo.Abp.IdentityServer.Domain\Volo.Abp.IdentityServer.Domain.csproj 的包...
正在还原 D:\workshop\Github\abp\modules\identity\src\Volo.Abp.Identity.AspNetCore\Volo.Abp.Identity.AspNetCore.csproj 的包...
正在还原 D:\workshop\Github\abp\modules\users\src\Volo.Abp.Users.Abstractions\Volo.Abp.Users.Abstractions.csproj 的包...
正在还原 D:\workshop\Github\abp\modules\permission-management\src\Volo.Abp.PermissionManagement.Domain\Volo.Abp.PermissionManagement.Domain.csproj 的包...
正在还原 D:\workshop\Github\abp\modules\identity\src\Volo.Abp.Identity.Domain\Volo.Abp.Identity.Domain.csproj 的包...
D:\workshop\Github\abp\modules\permission-management\src\Volo.Abp.PermissionManagement.Domain.Shared\Volo.Abp.PermissionManagement.Domain.Shared.csproj 的还原在 119.46 ms 内完成。
D:\workshop\Github\abp\modules\identity\src\Volo.Abp.Identity.Domain.Shared\Volo.Abp.Identity.Domain.Shared.csproj 的还原在 136.13 ms 内完成。
D:\workshop\Github\abp\modules\users\src\Volo.Abp.Users.Abstractions\Volo.Abp.Users.Abstractions.csproj 的还原在 119.18 ms 内完成。
D:\workshop\Github\abp\modules\permission-management\src\Volo.Abp.PermissionManagement.Domain\Volo.Abp.PermissionManagement.Domain.csproj 的还原在 207.33 ms 内完成。
D:\workshop\Github\abp\modules\identity\src\Volo.Abp.Identity.Domain\Volo.Abp.Identity.Domain.csproj 的还原在 204.05 ms 内完成。
正在还原 D:\workshop\Github\abp\modules\users\src\Volo.Abp.Users.Domain.Shared\Volo.Abp.Users.Domain.Shared.csproj 的包...
正在还原 D:\workshop\Github\abp\modules\users\src\Volo.Abp.Users.Domain\Volo.Abp.Users.Domain.csproj 的包...
D:\workshop\Github\abp\modules\identity\src\Volo.Abp.Identity.AspNetCore\Volo.Abp.Identity.AspNetCore.csproj 的还原在 249.32 ms 内完成。
D:\workshop\Github\abp\modules\users\src\Volo.Abp.Users.Domain.Shared\Volo.Abp.Users.Domain.Shared.csproj 的还原在 48.91 ms 内完成。
D:\workshop\Github\abp\modules\users\src\Volo.Abp.Users.Domain\Volo.Abp.Users.Domain.csproj 的还原在 93.33 ms 内完成。
D:\workshop\Github\abp\modules\identityserver\src\Volo.Abp.IdentityServer.Domain\Volo.Abp.IdentityServer.Domain.csproj 的还原在 437.86 ms 内完成。
D:\workshop\Github\abp\modules\account\src\Volo.Abp.Account.Web\Volo.Abp.Account.Web.csproj 的还原在 699.7 ms 内完成。
以上所述就是小编给大家介绍的《华为云提供针对Nuget包管理器的缓存加速服务》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 【提供源码包】高性能存储对象缓存 之【Memcached】
- asp.net-mvc – 如何使用ASP.NET MVC实现自定义缓存提供程序
- 能快速提供一个子环境吗?
- 提供一个排查性能问题的思路
- 创新中关村报道称 Cocos 开发者沙龙为开发者、技术提供者等提供了交流合作平台
- C/C++ 提供 Python 接口
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Tomcat架构解析
刘光瑞 / 人民邮电出版社 / 2017-5 / 79.00元
本书全面介绍了Tomcat的架构、各组件的实现方案以及使用方式。包括Tomcat的基础组件架构以及工作原理,Tomcat各组件的实现方案、使用方式以及详细配置说明,Tomcat与Web服务器集成以及性能优化,Tomcat部分扩展特性介绍等。读者可以了解应用服务器的架构以及工作原理,学习Tomcat的使用、优化以及详细配置。一起来看看 《Tomcat架构解析》 这本书的介绍吧!