四、直接初始化Options對象 前面演示的幾個實例具有一個共同的特征,即都采用配置系統來提供綁定Options對象的原始數據,實際上,Options框架具有一個完全獨立的模型,可以稱為Options模型。這個獨立的Options模型本身並不依賴於配置系統,讓配置系統來提供配置數據僅僅是 ...
依賴注入不僅是支撐整個ASP.NET Core框架的基石,也是開發ASP.NET Core應用采用的基本編程模式,所以依賴注入十分重要。依賴注入使我們可以將依賴的功能定義成服務,最終以一種松耦合的形式注入消費該功能的組件或者服務中。除了采用依賴注入的形式消費承載某種功能的服務,還可以采用相同的方式消費承載配置數據的Options對象。 一 將配置綁定為Options對象 Options模式是一種采 ...
2020-01-09 08:57 10 4583 推薦指數:
四、直接初始化Options對象 前面演示的幾個實例具有一個共同的特征,即都采用配置系統來提供綁定Options對象的原始數據,實際上,Options框架具有一個完全獨立的模型,可以稱為Options模型。這個獨立的Options模型本身並不依賴於配置系統,讓配置系統來提供配置數據僅僅是 ...
通過前面演示的幾個實例(配置選項的正確使用方式[上篇]、配置選項的正確使用方式[下篇]),我們已經對基於Options的編程方式有了一定程度的了解,下面從設計的角度介紹Options模型。我們演示的實例已經涉及Options模型的3個重要的接口,它們分別是IOptions< ...
Options模型本身與配置系統完全沒有關系,但是配置在大部分情況下會作為綁定Options對象的數據源,所以有必要將兩者結合在一起。與《擴展與定制》演示的兩個例子一樣,針對配置系統的集成同樣是通過定制Options模型相應的對象來實現的。具體來說,集成配置系統需要解決如下兩個問題: 將承載 ...
六、IOptionsMonitorCache<TOptions> IOptionsFactory<TOptions>解決了Options的創建與初始化問題,但由於它自身是無狀態的,所以Options模型對Options對象實施緩存可以獲得更好的性能。Options模型中針對 ...
.NET Core采用的這個全新的配置模型的一個主要的特點就是對多種不同配置源的支持。我們可以將內存變量、命令行參數、環境變量和物理文件作為原始配置數據的來源。如果采用物理文件作為配置源,我們可以選擇不同的格式(比如XML、JSON和INI等)。如果這些默認支持的配置源形式還不能滿足你的需求 ...
提到“配置”二字,我想絕大部分.NET開發人員腦海中會立即浮現出兩個特殊文件的身影,那就是我們再熟悉不過的app.config和web.config,多年以來我們已經習慣了將結構化的配置定義在這兩個XML格式的文件之中。到了.NET Core的時代,很多我們習以為常的東西都發生了改變,其中就包括 ...
《Options模型》介紹了組成Options模型的4個核心對象以及它們之間的交互關系,讀者對如何得到Options對象的實現原理可能不太了解,本篇文章主要介紹依賴注入的相關內容。既然我們能夠利用IServiceProvider對象提供的IOptions<TOptions>服務 ...
由於Options模型涉及的核心對象最終都注冊為相應的服務,所以從原則上講這些對象都是可以定制的,下面提供幾個這樣的實例。由於Options模型提供了針對配置系統的集成,所以可以采用配置文件的形式來提供原始的Options數據,可以直接采用反序列化的方式將配置文件的內容轉換成Options對象 ...