netcore 使用apollo

一、创建配置应用

       ①、创建应用

         ②、填写应用信息

         ③、删除默认命名空间

         ④、新增命名空间

1、选择创建命名空间

1、填写配置信息

1、按需添加权限

        ⑤、添加配置

1、修改保存配置

         

二、netcore 程序使用apollo配置

        ①、安装apollo包【Com.Ctrip.Framework.Apollo.Configuration】

        ②、添加apollo相关配置

复制代码
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "Apollo": {
    "AppId": "Apollo.Fast",
    "Env": "DEV",
    "MetaServer": "http://IP:8001", //配置服务地址【configService Address】
    "ConfigServer": [ "http://IP:8001" ] //配置服务地址【configService Address】
  }
}
复制代码

         ③、注册apollo服务及配置

复制代码
using Com.Ctrip.Framework.Apollo;
using Com.Ctrip.Framework.Apollo.Enums;

var builder = WebApplication.CreateBuilder(args);
builder.Configuration
    .AddApollo(builder.Configuration.GetSection("Apollo"))
    .AddDefault()
    .AddNamespace("Fast.AppSettings", ConfigFileFormat.Json);

var app = builder.Build();


app.MapDefaultControllerRoute();
await app.RunAsync();
复制代码

       ④、读取配置

复制代码
namespace Apollo.Fast.Controllers
{
    [Route("api/[controller]/[action]")]
    [ApiController]
    public class HomeController : ControllerBase
    {
        IConfiguration _configuration;

        /// <summary>
        /// apollo配置
        /// </summary>
        IOptions<ApolloSetting> _apolloSetting;

        public HomeController(IConfiguration configuration,IOptions<ApolloSetting> apolloSetting)
        {
            _configuration = configuration;
            _apolloSetting = apolloSetting;
        }

        [HttpGet]
        public IActionResult GetApolloConfig()
        {
            var expire = _configuration.GetSection("token_config:expire").Get<int>();
            var secret = _configuration.GetSection("token_config:secret").Get<string>();
            var urls = _configuration.GetSection("urls").Get<string>();
            return Ok(new { expire,secret,urls });
        }
    }
}
复制代码

1、读取结果

 

posted @   1764564459  阅读(444)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
历史上的今天:
2020-06-17 Linux 启动网络错误: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled),并且ping不通
点击右上角即可分享
微信分享提示