1、安装nuget包

2、加上配置文件

"nacos": {
  "ServerAddresses": [ "http://127.0.0.1:8848" ],
  "GroupName": "DEFAULT_GROUP",
  "ClusterName": "DEFAULT",
  "ServiceName": "webapi",
  "DefaultTimeOut": 5000,
  "Namespace": "public",
  "Password": "nacos",
  "UserName": "nacos",
  "ListenInterval": 3000,
  "ConfigUseRpc": false,
  "NamingUseRpc": false,
  "Listeners": [
    {
      "Group": "DEFAULT_GROUP",
      "DataId": "webapi",
      "Optional": false
    }
  ]
}

        注意:

        "ConfigUseRpc": false
        "NamingUseRpc": false

        http连接选false否则配置中心可能会获取不到内容

3、注册

//注册nacos
builder.Services.AddNacosAspNet(builder.Configuration);

启动后

4、使用服务发现

/// <summary>
/// 服务发现-调用
/// </summary>
/// <returns></returns>
[HttpPost("find")]
public async Task<string> Find([FromServices] INacosNamingService nacosNaming)
{
    Instance instance = await nacosNaming.SelectOneHealthyInstance("webapi", "DEFAULT_GROUP");
    string ip = instance.GetIpPort();
    HttpTool tool = new HttpTool();

    string str = await tool.PostSendMessage($"http://{ip}/nacos/get", string.Empty);

    return str;
}
/// <summary>
/// 得到ip和端口
/// </summary>
/// <param name="instance"></param>
/// <returns></returns>
public static string GetIpPort(this Instance instance)
{
    return $"{instance.Ip}:{instance.Port}";
}

5、注册配置中心

//配置中心
builder.Services.AddNacosV2Config(builder.Configuration);

随意添加配置

6、使用配置中心

/// <summary>
/// 配置中心
/// </summary>
/// <param name="nacosConfig"></param>
/// <returns></returns>
[HttpPost("config")]
public async Task<string> GetConfig([FromServices] INacosConfigService nacosConfigService)
{
    string str = nacosConfigService?.GetConfigAndSignListener("test", "DEFAULT_GROUP", 3000, new Tools.ConfigListener()).Result ?? "";
    NacosTool? nacosTool = str.JsonTo<NacosTool>();

    return "ok";
}

7、配置变化的监听方法,结合第6点

/// <summary>
/// 配置变化监听
/// </summary>
public class ConfigListener : IListener
{
    /// <summary>
    /// 监听方法
    /// </summary>
    /// <param name="configInfo"></param>
    public void ReceiveConfigInfo(string configInfo)
    {
        Trace.WriteLine("接收到配置变化信息");
    }
}

然后自由发挥吧

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐