Configuration Extensions - 简化配置,让你配置支持变量
在開發“RabbitCloud”項目時,使用配置文件發現會有很多重復值,所以我基于”Microsoft.Extensions.Configuration”寫了一個擴展庫,來豐富對配置的支持。
實際案例——“RabbitCloud”
之前,我是這樣的
因為公司ip和家里機器的ip不一致,所以經常需要切換配置文件。
但根據這份配置文件,我更改健康檢查的主機和端口就意味著我得改三個地方,然而一般情況下這三個地方都是一致的,如果這時候我能定義一個變量“ServiceHost”,然后這三個地方使用這個變量就好了。
現在,我是這樣的
如果有變更需要只需改動幾個變量值就可以了,不需要在滿屏的配置文件里面去查看、搜索替換了。
回到目錄
特性
支持的配置源
JSON
XML
Consul
Ini
Yaml
EnvironmentVariables
CommandLine
SQL Server/MySQL…
……
寫了這么多其實是廢話。。只不過是為了列出一些常用的配置源。
因為這個擴展組件是基于“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 - 简化配置,让你配置支持变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手把手教你使用spring cloud+
- 下一篇: asp.net core Authent