前段时间用.NET Core 3.1写了一个中台服务,因为当时时间很赶,并没有对接到Nacos上。这并没什么值得记录的,主要是今天在对接Nacos时犯了一个很傻逼的错误,所以特地记录下来。
现在网上很多博文全是复制粘贴没经过试验,所以我也是在模仿中踩了坑。
跟其它步骤一样,首先我们从Nuget中下载最新版的Nacos组件,这里因为我只需要用管理配置,所以我使用了
nacos-sdk-csharp-unofficial.Extensions.Configuration
然后下一步在配置文件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
本博客所有文章如无特别注明均为原创
如果觉得对你有帮助,可以通过下方打赏对作者表示鼓励
本文采用知识共享署名-非商业性使用-相同方式共享
如若转载,请注明出处:《.NET Core 3.1中使用Nacos管理原生配置》https://www.fangsi.net/1768.html