標籤:data ring service 好的 scope level pwd 方法 database
在Asp.Net Core 中,配置資訊已從原來Asp.Net的XML格式改為了更為流行的JSON格式,設定檔也由原來的App.config改成了appsettings.json。
那麼對於這個appsettings.json中的配置資訊的讀取,使用最多的是使用與配置對應的實體模型,調用services.Configure<TOptions>()泛型方法載入配置。
這種方式的好處在於,將配置資料載入到對應的實體中後,項目的其它地方都可以使用,常見的是用於Controller中。
其缺點是不快速簡便,需要設計對應的Model,構造方法中傳入實體,Configure方法中載入資料等等。在有些地方是感覺麻煩的。
那麼今天就介紹一種在某些即取即用的情境下能方便快捷的讀取配置資訊的方法:
首先這是appsettings.json中的內容:
{ "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Warning" } }, //--系統配置項 "ConnectionStrings": { "sqlconn": "Server=(local);Database=Blogging;Uid=sa;Pwd=123456;" }, //--自訂配置項 "SqlConnSetting": { "Server": "(local)", "Database": "Blogging", "Uid": "sa", "Pwd": "123456" }}
然後,我需要要項目啟動時配置EF DbContext的資料庫連接字串
有兩種方法:
第一種就是使用.Net Core已經封裝好的Configuration.GetConnectionString()方法,但這種方式需要將串連配置放在ConnectionStrings之中。
第二種就是使用IConfiguration介面中的[]索引方法,這種方法使用起來超級簡單。這種方法在JS中處理Json對像時也是經常用到的。
在這種情境下,我個人還是比較喜歡這種方式。
在Asp.Net Core中關於appsettings.json的快速簡便的讀取和設定方式