.NET Core在類庫中讀取設定檔appsettings.json

來源:互聯網
上載者:User

標籤:hang   www.   連結   節點配置   default   pac   efault   節點   tps   

  在.NET Framework架構時代我們的應用配置內容一般都是寫在Web.config或者App.config檔案中,讀取這兩個設定檔只需要引用System.Configuration程式集,分別用

System.Configuration.ConfigurationManager.AppSettings["SystemName"];//讀取appSettings配置System.Configuration.ConfigurationManager.ConnectionStrings["DBConnectionStr"];//讀取connectionStrings配置

讀取設定檔和資料庫連結。

  

  現在我們終於迎來.NET Core時代,越來越多的應用被遷移至.NET Core架構下,.NET Core2.0發布以後,.NET Core更加成熟了,原本在.NET Framework框才有的類庫.NET Core也基本全部實現,並有增強。因此小菜我也已經準備好加入.NET Core大軍中,所以小菜我最近開始修鍊.NET Core大法。

  

  欲鑄劍,必先打鐵,我要一步步來,讀取設定檔是一個應用中必不可少的,先弄清怎麼讀取設定檔,.NET Core設定檔為appsettings.json,為了滿足在各個不同類中都能便捷的讀取appsettings.json中的配置,所以我需要將讀取appsettings.json封裝到類庫中。在Startup中讀取就不說了,在類庫中實現讀取怎麼玩兒?直接上代碼,appsettings.json檔案內容如下:

{  "Logging": {    "IncludeScopes": false,    "LogLevel": {      "Default": "Warning"    }  },  "ConnectionStrings": {    "CxyOrder": "Server=LAPTOP-AQUL6MDE\\MSSQLSERVERS;Database=CxyOrder;User ID=sa;Password=123456;Trusted_Connection=False;"  },  "Appsettings": {    "SystemName": "PDF .NET CORE",    "Date": "2017-07-23",    "Author": "PDF"  },  "ServiceUrl": "https://www.baidu.com/getnews"}

 

首先需要給類庫項目引入 Microsoft.Extensions.Configuration 和 Microsoft.Extensions.Configuration.Json程式包,類庫中載入appsettings.json設定檔代碼如下:

using Microsoft.Extensions.Configuration;using Microsoft.Extensions.Configuration.Json;namespace NetCoreOrder.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();                    }    }}

 

使用方法如下,讀取資料庫連結字串

AppConfigurtaionServices.Configuration.GetConnectionString("CxyOrder"); //得到 Server=LAPTOP-AQUL6MDE\\MSSQLSERVERS;Database=CxyOrder;User ID=sa;Password=123456;Trusted_Connection=False;

 

讀取一級配置節點配置

AppConfigurtaionServices.Configuration["ServiceUrl"];//得到 https://www.baidu.com/getnews

 

讀取二級子節點配置

AppConfigurtaionServices.Configuration["Appsettings:SystemName"];//得到 PDF .NET COREAppConfigurtaionServices.Configuration["Appsettings:Author"];//得到 PDF

 

  注意,如果AppConfigurtaionServices類中拋出FileNotFoundException異常,說明目錄下未找到appsettings.json檔案,這時請在項目appsettings.json檔案上右鍵——屬性——將“複製到輸出目錄”項的值改為“始終複製”即可。

小菜筆記,若有不妥,望指正!

.NET Core在類庫中讀取設定檔appsettings.json

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.