ASP.NET Core & Apollo
Apollo 是携程开源的一款开源配置中心。Apollo 对 Java 的支持比较好,.NET 中使用灵活性差了好多。
使用方法
安装 NuGet - Com.Ctrip.Framework.Apollo.Configuration 包
powershellInstall-Package Com.Ctrip.Framework.Apollo.Configuration
在 appsettings.json 中添加 apollo 配置。
json{ "apollo": { "AppId": "SampleApp", "MetaServer": "http://192.168.2.168:8080" } }
修改 Program.cs 的
CreateWebHostBuilder
方法csharppublic static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .ConfigureAppConfiguration((hostingContext, builder) => { builder .AddApollo(builder.Build().GetSection("apollo")) .AddDefault(); //.AddNamespace("Common");//Apollo中NameSpace的名称 }) .UseStartup<Startup>();
在 Startup.cs 通过
Configuration
属性获取配置。csharpstring connectionString = Configuration["ConnectionString"];
安装 Com.Ctrip.Framework.Apollo.Configuration 失败
正在还原 D:\liujiajia\Source\gitee\OctopusCloudTeamService\CotopusCloudConfig\CotopusCloudConfig.csproj 的包...
NU1107: 检测到 Microsoft.Extensions.Configuration 存在版本冲突。直接从项目引用包可解决此问题。
CotopusCloudConfig -> Com.Ctrip.Framework.Apollo.Configuration 1.4.0 -> Microsoft.Extensions.Configuration.Binder 2.1.1 -> Microsoft.Extensions.Configuration (>= 2.1.1)
CotopusCloudConfig -> Microsoft.AspNetCore.App 2.1.0 -> Microsoft.Extensions.Configuration (= 2.1.0).
程序包还原失败。正在回滚“CotopusCloudConfig”的程序包更改。
已用时间: 00:00:00.9765635
========== 已完成 ==========
这个是由于我的 VS 2017 版本较旧,.NET Core 版本是 2.1.0 导致的。至少需要升级到 2.1.1 。
最新的 .NET SKD 可以从这里 => .NET SDKs for Visual Studio 下载。
或者通过 -version
指定安装的版本
Install-Package Com.Ctrip.Framework.Apollo.Configuration -version 1.3.1
1.4.0 的依赖项
- .NETStandard,Version=v2.0
- Com.Ctrip.Framework.Apollo (>= 1.4.0)
- Microsoft.Extensions.Configuration.Binder (>= 2.1.1)
1.3.1 的依赖项
- .NETStandard,Version=v2.0
- Com.Ctrip.Framework.Apollo (>= 1.3.1)
- Microsoft.Extensions.Configuration.Binder (>= 2.0.0)