当前位置:   article > 正文

.net core 3.1 使用Apollo进行配置_c# apollo

c# apollo

.net core 3.1 使用Apollo进行配置

在日常项目中,经常需要手写配置。通常许多项目使用的配置是一样的,重复的写这些配置就显得有一些多余了。我们可以使用携程的开源项目-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>();
                });
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

第五步 测试
至此,我们已经在项目中引入了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;
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

测试结果,成功获取Apollo对于key的value值。
在这里插入图片描述

这里是一枚不断成长小菜鸡,如有不足之处,请在评论指出,还请谅解!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/478472
推荐阅读
相关标签
  

闽ICP备14008679号