在开发“RabbitCloud”项目时,使用配置文件发现会有很多重复值,所以我基于”Microsoft.Extensions.Configuration”写了一个扩展库,来丰富对配置的支持。

实际案例——“RabbitCloud”

之前,我是这样的

因为公司ip和家里机器的ip不一致,所以经常需要切换配置文件。

但根据这份配置文件,我更改健康检查的主机和端口就意味着我得改三个地方,然而一般情况下这三个地方都是一致的,如果这时候我能定义一个变量“ServiceHost”,然后这三个地方使用这个变量就好了。

现在,我是这样的

如果有变更需要只需改动几个变量值就可以了,不需要在满屏的配置文件里面去查看、搜索替换了。

回到目录

特性

支持的配置源

  1. JSON

  2. XML

  3. Consul

  4. Ini

  5. Yaml

  6. EnvironmentVariables

  7. CommandLine

  8. SQL Server/MySQL…

  9. ……

写了这么多其实是废话。。只不过是为了列出一些常用的配置源。

因为这个扩展组件是基于“Microsoft.Extensions.Configuration”框架在内部进行了一次二次渲染而已,所以只要是适配了“Microsoft.Extensions.Configuration”的配置源都可以进行支持。

配置信息变更重新渲染

当配置文件变更,进行Reload时,模板会自动进行重新渲染,不用担心渲染之后配置监控不可用的问题。

回到目录

Demo

配置文件如下:

代码如下:

效果1(dotnet run):

效果2(dotnet run --ServiceHost=localhost):

效果3(dotnet run --ServiceHost=localhost --ServicePort=5000):

写在最后

RabbitCloud核心部分已经构建的差不多了,近期会写一篇文章来介绍说明。先放一些图。

相关文章:

  • 拥抱.NET Core,学习.NET Core的基础知识补遗

  • 拥抱.NET Core,跨平台的轻量级RPC:Rabbit.Rpc

原文地址:http://www.cnblogs.com/ants/p/7566627.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

Configuration Extensions - 简化配置,让你配置支持变量相关推荐

  1. nginx安装、nginx前端配置、后端配置、前后端分离配置、https支持(ssl配置)、负载均衡配置、nginx location详解

    nginx配置 一.nginx安装 二.nginx配置 仅前端配置 仅后端配置 前后分离配置(1) 前后分离配置(2) 前后不分离配置 https/ssl配置 负载均衡配置 数据压缩配置 三.完整ng ...

  2. mysql配置asp_配置服务器使它支持asp,cgi,php,mysql_MySQL

    配置服务器使它支持asp,cgi,php,mysql_MySQL iis5和pws都支持asp,然后你只要安装一个access就可以了. 下面说说如何要他们支持cgi. 1)pws下配置activeP ...

  3. anaconda新建python2环境安装不了jupyterlab_Anaconda 5.0.0 JupyterLab 0.27.0 中配置多Python环境支持...

    Anaconda 5.0.0 JupyterLab 0.27.0 中配置多Python环境支持 概述 Anaconda 5.0.0 中自带了 JupyterLab 0.27.0 版本,这是 Anaco ...

  4. Spring-注入参数详解-[通过util命名空间简化集合类型的配置]

    概述 步骤 声明命名空间和schema 配置Bean 配置一个Map 配置一个Set 配置一个List 配置一个Properties MapSetListProperties实例汇总 概述 如果希望配 ...

  5. 在MAC OS 下配置python + Flask ,并支持pyCharm编辑器

    https://www.cnblogs.com/lgphp/p/3841098.html 在MAC OS 下配置python + Flask ,并支持pyCharm编辑器 flask是一个micro ...

  6. [vue] 怎么配置使vue2.0+支持TypeScript写法?

    [vue] 怎么配置使vue2.0+支持TypeScript写法? 配置ts-loader,tsconfig增加类型扩展,让ts识别vue文件vue文件中script里面换成ts写法, 需要增加几个t ...

  7. 服务器搭建对讲机系统,世邦对讲配置步骤以及方法(支持跨服务器对讲).doc

    世邦对讲配置步骤以及方法(支持跨服务器对讲) 配置的步骤以及配置方法 请先在/view.php?id=4727 上取得'世邦IP网络广播_SDK 配置工具汇总(新).rar' 首先安装世邦数字IP网络 ...

  8. Autosar Configuration(五) Security之Csm配置

    本系列教程是根据实际项目开发中总结的经验所得,如发现有不对的地方,还请指正. 目录 Autosar Configuration(一)Davinci Developer-工具介绍 Autosar Con ...

  9. [软件工具][原创]pcl引用库一键配置到VisualStudio中支持vs2015-v2022使用教程

    你还在手动配置pcl吗?那你out了,由于pcl的include,lib太多很容易配置出错,为了解决配置效率低下配置出错问题,我们制作了一个全系列支持pcl配置工具,大家只要安装好pcl并保证有PCL ...

最新文章

  1. C# 视频监控系列 序 [完]
  2. jsp:include page= /路径
  3. Android中的各种Adapter
  4. Python函数及相关知识
  5. Android实现自定义的 时间日期 控件
  6. js 里面的键盘事件对应的键码
  7. 最短路径(弗洛伊德算法)
  8. 【Microstation】第三章:Microstation三维模型构建与编辑
  9. Spyder里面好像不能用汉字
  10. Java解决空引用_在java中检查空引用的乐观方法
  11. 软件测试—软件测试基础知识—测试用例设计的方法之场景法、正交试验法和错误推断法
  12. 50页PPT,让你全面了解物联网产业链及发展趋势 | 附下载
  13. 教务管理系统登陆显示不出验证码图片求哥帮助一下
  14. 职称论文发表格式要求
  15. 大数据和Hadoop培训能否满足市场需求
  16. 经典的W2kXP添加删除硬件
  17. POE交换机供电知识
  18. Quartus II实验二 运算部件实验:并行乘法器
  19. 云渲染解决方案,CPU渲染,GPU渲染
  20. 判断字符串字符种类及个数

热门文章

  1. 探索发现:平台云——云的新风向
  2. 5.03 列出表的索引
  3. 08_drain a node on the swarm
  4. centos服务器解决vsftp连接时的“550 Create directory operation failed.”错误
  5. 在Eigrp做不等值路由的负载均衡
  6. 【.NET 日常开发技巧】一个性能强悍的HttpClient 库
  7. 虎年云原生落地技术趋势
  8. WPF 如何流畅地滚动ScrollViewer
  9. ASP.NET Core Filter如何支持依赖注入
  10. Angular SPA基于Ocelot API网关与IdentityServer4的身份认证与授权