Configuration Extensions - 简化配置,让你配置支持变量
在開(kāi)發(fā)“RabbitCloud”項(xiàng)目時(shí),使用配置文件發(fā)現(xiàn)會(huì)有很多重復(fù)值,所以我基于”Microsoft.Extensions.Configuration”寫了一個(gè)擴(kuò)展庫(kù),來(lái)豐富對(duì)配置的支持。
實(shí)際案例——“RabbitCloud”
之前,我是這樣的
因?yàn)楣緄p和家里機(jī)器的ip不一致,所以經(jīng)常需要切換配置文件。
但根據(jù)這份配置文件,我更改健康檢查的主機(jī)和端口就意味著我得改三個(gè)地方,然而一般情況下這三個(gè)地方都是一致的,如果這時(shí)候我能定義一個(gè)變量“ServiceHost”,然后這三個(gè)地方使用這個(gè)變量就好了。
現(xiàn)在,我是這樣的
如果有變更需要只需改動(dòng)幾個(gè)變量值就可以了,不需要在滿屏的配置文件里面去查看、搜索替換了。
回到目錄
特性
支持的配置源
JSON
XML
Consul
Ini
Yaml
EnvironmentVariables
CommandLine
SQL Server/MySQL…
……
寫了這么多其實(shí)是廢話。。只不過(guò)是為了列出一些常用的配置源。
因?yàn)檫@個(gè)擴(kuò)展組件是基于“Microsoft.Extensions.Configuration”框架在內(nèi)部進(jìn)行了一次二次渲染而已,所以只要是適配了“Microsoft.Extensions.Configuration”的配置源都可以進(jìn)行支持。
配置信息變更重新渲染
當(dāng)配置文件變更,進(jìn)行Reload時(shí),模板會(huì)自動(dòng)進(jìn)行重新渲染,不用擔(dān)心渲染之后配置監(jiān)控不可用的問(wèn)題。
回到目錄
Demo
配置文件如下:
代碼如下:
效果1(dotnet run):
效果2(dotnet run --ServiceHost=localhost):
效果3(dotnet run --ServiceHost=localhost --ServicePort=5000):
寫在最后
RabbitCloud核心部分已經(jīng)構(gòu)建的差不多了,近期會(huì)寫一篇文章來(lái)介紹說(shuō)明。先放一些圖。
相關(guān)文章:?
擁抱.NET Core,學(xué)習(xí).NET Core的基礎(chǔ)知識(shí)補(bǔ)遺
擁抱.NET Core,跨平臺(tái)的輕量級(jí)RPC:Rabbit.Rpc
原文地址:http://www.cnblogs.com/ants/p/7566627.html
.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺(tái)或掃描二維碼關(guān)注
總結(jié)
以上是生活随笔為你收集整理的Configuration Extensions - 简化配置,让你配置支持变量的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 手把手教你使用spring cloud+
- 下一篇: Entity Framework中的字符