.NET Core中讀取json配置檔案
阿新 • • 發佈:2020-11-29
.NET Core配置檔案為appsettings.json,為了滿足在各個不同類中都能便捷的讀取appsettings.json中的配置,所以我需要將讀取appsettings.json封裝到類庫中。在Startup中讀取就不說了,appsettings.json檔案內容如下:
{ "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Warning" } }, "ConnectionStrings": { "TestConnection": "Server=.;Database=OWNDB;User ID=sa;Password=123456;Trusted_Connection=False;" }, "Appsettings": { "SystemName": "PDF .NET CORE", "Date": "2017-07-23", "Author": "PDF" }, "ServiceUrl": "http://www.cnblogs.com/chuankang/" }
建一個專案名稱為NetCore.Common的類庫專案,並給該類庫專案引入Microsoft.Extensions.Configuration 和Microsoft.Extensions.Configuration.Json程式包,類庫中載入appsettings.json配置檔案程式碼如下:
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration.Json; namespace NetCore.Common { /// <summary> /// 讀取配置檔案 /// </summary> public class AppConfigurtaionServices { public static IConfiguration Configuration { get; set; } static AppConfigurtaionServices() { //ReloadOnChange = true 當appsettings.json被修改時重新載入 Configuration = new ConfigurationBuilder() .Add(new JsonConfigurationSource { Path = "appsettings.json", ReloadOnChange = true }) .Build(); } } }
讀取配置檔案的程式碼完成了,只要引用了NetCore.Common類庫的專案中都能方便讀取資料庫連結字串和其他配置,使用方法如下:
AppConfigurtaionServices.Configuration.GetConnectionString("TestConnection"); //得到 Server=.;Database=OWNDB;User ID=sa;Password=123456;Trusted_Connection=False;
讀取一級配置節點配置
AppConfigurtaionServices.Configuration["ServiceUrl"]; //得到 http://www.cnblogs.com/chuankang/
讀取二級子節點配置
AppConfigurtaionServices.Configuration["Appsettings:SystemName"]; //得到 PDF .NET CORE AppConfigurtaionServices.Configuration["Appsettings:Author"]; //得到 PDF
注意,如果AppConfigurtaionServices類中丟擲FileNotFoundException異常,說明目錄下未找到appsettings.json檔案,這時請在專案appsettings.json檔案上右鍵——屬性——將“複製到輸出目錄”項的值改為“如果較新則複製”即可。