.NET Core采用的這個全新的配置模型的一個主要的特點就是對多種不同配置源的支持。我們可以將內存變量、命令行參數、環境變量和物理文件作為原始配置數據的來源。如果采用物理文件作為配置源,我們可以選擇不同的格式(比如XML、JSON和INI等)。如果這些默認支持的配置源形式還不能滿足你的需求 ...
XML也是一種常用的配置定義形式,它對數據的表達能力甚至強於JSON,幾乎所有類型的數據結構都可以通過XML表示出來。當我們通過一個XML元素表示一個復雜對象的時候,對象的數據成員定義成當前XML元素的子元素。雖然XML對數據結構的表達能力總體要強於JSON,但是作為配置模型的數據來源卻有自己的局限性,比如它們對集合的表現形式有點不盡如人意。 一 XML在針對集合表達上的缺陷 舉個簡單的例子,對於 ...
2019-12-23 08:53 6 1647 推薦指數:
.NET Core采用的這個全新的配置模型的一個主要的特點就是對多種不同配置源的支持。我們可以將內存變量、命令行參數、環境變量和物理文件作為原始配置數據的來源。如果采用物理文件作為配置源,我們可以選擇不同的格式(比如XML、JSON和INI等)。如果這些默認支持的配置源形式還不能滿足你的需求 ...
物理文件是我們最常用到的原始配置載體,而最佳的配置文件格式主要有三種,它們分別是JSON、XML和INI,對應的配置源類型分別是JsonConfigurationSource、XmlConfigurationSource和IniConfigurationSource,它們具有如下一個相同的基類 ...
四、直接初始化Options對象 前面演示的幾個實例具有一個共同的特征,即都采用配置系統來提供綁定Options對象的原始數據,實際上,Options框架具有一個完全獨立的模型,可以稱為Options模型。這個獨立的Options模型本身並不依賴於配置系統,讓配置系統來提供配置數據僅僅是 ...
[接上篇]提到“配置”二字,我想絕大部分.NET開發人員腦海中會立即浮現出兩個特殊文件的身影,那就是我們再熟悉不過的app.config和web.config,多年以來我們已經習慣了將結構化的配置定義在這兩個XML格式的文件之中。到了.NET Core的時代,很多我們習以為常的東西都發生了改變 ...
我們在上篇和中篇對配置模型中默認提供的各種ConfigurationProvider進行了深入詳盡的介紹,如果它們依然不能滿足項目中的配置需求,我們可以還可以通過自定義ConfigurationProvider來支持我們希望的配置來源。就配置數據的持久化方式來說,將配置存儲在數據庫中應該是一種 ...
我們在前面對配置模型中默認提供的各種IConfigurationSource實現類型進行了深入詳盡的介紹,如果它們依然不能滿足項目中的需求,我們還可以通過自定義IConfigurationSource實現類型來支持我們希望的配置源。就配置數據的持久化方式來說,將配置存儲在數據庫中應該是一種常見 ...
六、IOptionsMonitorCache<TOptions> IOptionsFactory<TOptions>解決了Options的創建與初始化問題,但由於它自身是無狀態的,所以Options模型對Options對象實施緩存可以獲得更好的性能。Options模型中針對 ...
在《配置模型總體設計》介紹配置模型核心對象的時候,我們刻意回避了與配置同步相關的API,現在我們利用一個獨立文章來專門討論這個話題。配置的同步涉及到兩個方面:第一,對原始的配置源實施監控並在其發生變化之后重新加載配置;第二,配置重新加載之后及時通知應用程序進而使應用能夠及時使用最新的配置。要了 ...