NetCore Api 读取Apollo配置

最近学习了一下Apollo,自己也尝试去读取相应配置,虽然公司这些东西都搭建好了,而且网上也有相应资料,但是好记性不如烂笔头,自己写一下。

我自己家里电脑还没有把Apollo搭建起来,所幸在网上找到个官方Demo网站,不用自己搭建,学习下也是不错的。这是链接:http://106.54.227.205/ 

还有其他地址,我也一并附上  https://gitee.com/apolloconfig/apollo    https://gitee.com/apolloconfig/apollo#https://gitee.com/link?target=http%3A%2F%2F106.54.227.205%2F  上面的地址可以在这里找到

 

 

然后就进去创建NameSpace,AppId之类的,我也搞了好久,具体步骤也忘了,大概说下

1:创建应用

 

 进去是这样的,

 

 appid自己填,是唯一的。

2:进入创建你的namespace,这里我已经创建好了

 

 配置增加了记得点发布!

ok到这里Apollo配置就完了。接下来是代码

创建一个Api的项目,Nuget引入两个包

Com.Ctrip.Framework.Apollo

Com.Ctrip.Framework.Apollo.Configuration

然后可以在startup里面修改代码,代码如下

 public Startup(IWebHostEnvironment env)
        {
            var builder = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile("appsettings.json", false, true)
                .AddJsonFile($"appsettings.{env.EnvironmentName}.json", false, true);
            Configuration = builder.Build();
            builder.AddApollo(Configuration.GetSection("apollo"))
                   .AddDefault()
                   .AddNamespace(Configuration["apollo:Namespace"]);
            Configuration = builder.Build();
            Console.WriteLine($"AppId is {Configuration["apollo:AppId"]},MetaServer is {Configuration["apollo:MetaServer"]}, Namespace is {Configuration["apollo:Namespace"]}");
            //Configuration = configuration;
        }

配置文件里面配置如下(生产环境配置文件名称是appsettings.Development.json):

  {
  "apollo": {
    "AppId": "fanlinTest",
    "MetaServer": "http://106.54.227.205:8080",
    "Namespace": "boss.FanLinNameSpace"
  }
}

然后一定要记得在ConfigureServices注入进去。这算是我踩的坑吧,不然会读取不到配置

services.AddSingleton(Configuration);

然后就可以读取相应的配置了

 

 Over 

搞定

 

posted @ 2022-04-08 15:42  游园惊梦、  阅读(166)  评论(0编辑  收藏  举报