.NET Core 3.1中使用Nacos管理原生配置

前段时间用.NET Core 3.1写了一个中台服务,因为当时时间很赶,并没有对接到Nacos上。这并没什么值得记录的,主要是今天在对接Nacos时犯了一个很傻逼的错误,所以特地记录下来。

现在网上很多博文全是复制粘贴没经过试验,所以我也是在模仿中踩了坑。

跟其它步骤一样,首先我们从Nuget中下载最新版的Nacos组件,这里因为我只需要用管理配置,所以我使用了

nacos-sdk-csharp-unofficial.Extensions.Configuration

.NET Core 3.1中使用Nacos管理原生配置

然后下一步在配置文件appsettings.json中添加如下配置:

"nacos": {
    "Optional": false,
    "ServerAddresses": [ "http://172.16.0.121:21160/" ],
    "DataId": "appsettings.json",
    "DefaultTimeOut": 15000,
    "Tenant": "b975575e-37da-4900-b7b7-4422245c4c50",
    "ListenInterval": 5000,
    "UserName": "nacos",
    "Password": "nacos"
  }

我就是在上面踩了坑,不知道从哪里复制到了一个配置文件,里面的配置Tenant叫NameSpace。搞得我死活拿不到配置数据。请大家注意,好像在不同版本上,配置略有差异。下一步就在Program.cs中添加相关代码

public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureAppConfiguration((context, builder) =>
                {
                    //添加Nacos配置
                    var c = builder.Build();
                    builder.AddNacosConfiguration(c.GetSection("nacos"));
                })
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });

到这里就可以了,使用的话可以按照原生方式获取,也可以按照网上其它介绍建立配置模型进行转换。

Configuration.GetSection(“nacos:dataid”).Value

本博客所有文章如无特别注明均为原创

如果觉得对你有帮助,可以通过下方打赏对作者表示鼓励

本文采用知识共享署名-非商业性使用-相同方式共享

如若转载,请注明出处:https://www.fangsi.net/1768.html

(4)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年2月5日 18:01
下一篇 2021年12月12日 18:59

相关推荐

发表评论

登录后才能评论