赞
踩
在日常项目中,经常需要手写配置。通常许多项目使用的配置是一样的,重复的写这些配置就显得有一些多余了。我们可以使用携程的开源项目-Apollo,来做统一配置管理。以下是.net core 3.1 环境下配置使用Apollo的方法。
第一步 搭建Apollo
参照GitHub https://github.com/apolloconfig/apollo-build-scripts
第二步 创建应用
进入Apollo后台管理,创建应用
第三步 创建Namespace,创建key-value
创建应用后,会生成默认的Namespace,删除并创建自己的Namespace
你也可以通过关联公共Namespace来覆盖公共Namespace的配置,自行探索。
新增配置,创建配置的key-value
此时这项配置还未发布,点击发布,然后我们就可以在项目中使用。
第四步 创建.net core项目,安装nuget包
包名:Com.Ctrip.Framework.Apollo.Configuration(这名字…大概率是Java程序员写的)
第五步 修改配置文件,更改Program.cs
首先,我们需要在appsettings.json中导入Apollo的配置信息。
注意:MetaServer指的是Apollo的Euraka的Server地址,而不是后台管理的地址。
然后需要在Program.cs引入Apollo的配置信息。
namespace WebApplication1 { public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.ConfigureAppConfiguration((context, builder) => { builder.AddApollo(builder.Build().GetSection("apollo")) .AddDefault() .AddNamespace("TEST1.Demo"); }) .UseStartup<Startup>(); }); } }
第五步 测试
至此,我们已经在项目中引入了Apollo的配置,现在在代码中测试配置是否成功
namespace WebApplication1.Controllers { [ApiController] [Route("[controller]")] public class WeatherForecastController : ControllerBase { private readonly IConfiguration _configuration; public WeatherForecastController(IConfiguration configuration) { _configuration = configuration; } [HttpGet] public string Get() { var value = _configuration.GetValue<string>("Demo.Key"); return value; } } }
测试结果,成功获取Apollo对于key的value值。
这里是一枚不断成长小菜鸡,如有不足之处,请在评论指出,还请谅解!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。