【NetCore】Net5 Net6使用Apollo的笔记

1. 安装和运行

拉取代码(任何一个都可以)

# Github 
git clone https://github.com/ctripcorp/apollo

# fastgit
git clone https://hub.fastgit.org/apolloconfig/apollo

# 或者Gitee
git clon https://gitee.com/apolloconfig/apollo.git

docker-compose运行Apollo

2. 新增配置

  • 访问Apollo管理界面:http://localhost:8070
  • 创建一个命名空间(如:my_test)
    • 创建命名空间
    • 选择Private
    • 选择Json
  • 在命名空间内修改json配置
  • 发布

3. 在NetCore项目配置

Net5项目

  1. Nuget安装:Com.Ctrip.Framework.Apollo.Configuration
  2. appsettings.json 增加配置项 Apollo
  3. program.cs 的IHostBuilder调用方法配置(下方中间的那个ConfigureAppConfiguration方法里)
  4. 注意:使用json配置时,需要指定命名空间类型为Json类型,见下方AddNamespace代码
{
  "Apollo": {
    "AppId": "home_work",
    "Env": "DEV",
    "MetaServer": "http://192.168.124.220:8080",
    "ConfigServer": [ "http://192.168.124.220:8080" ]
  }
}

 public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
     
     
     
                .ConfigureAppConfiguration((hostingContext, builder) =>
                {
                    LogManager.UseConsoleLogging(Com.Ctrip.Framework.Apollo.Logging.LogLevel.Trace);
                    builder.AddApollo(builder.Build().GetSection("Apollo"))
                    .AddNamespace("ms_user", Com.Ctrip.Framework.Apollo.Enums.ConfigFileFormat.Json)
                    .AddDefault();
                })
     
     
     
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });

Net6项目

// 添加Apollo配置中心
builder.Host.ConfigureAppConfiguration((context, b) =>
{
    LogManager.UseConsoleLogging(ApolloLogLevel.Trace);
    b.AddApollo(configuration.GetSection("Apollo"))
     .AddDefault()
     .AddNamespace("home_work", Com.Ctrip.Framework.Apollo.Enums.ConfigFileFormat.Json);
});

// 注意 
IOptions/IOptionsMonitor 不能够实时获取到最新
posted @ 2022-01-09 21:39  wosperry  阅读(586)  评论(0编辑  收藏  举报