最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ASP.NET Core讀取配置文件

 更新時間:2022年02月23日 08:58:55   作者:癡者工良  
這篇文章介紹了ASP.NET Core讀取配置文件的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

ASP.NET Core 中,可以使用 ConfigurationBuilder 對象來構(gòu)建。

主要分為三部:配置數(shù)據(jù)源 -> ConfigurationBuilder -> 使用。

數(shù)據(jù)源可來自字典或配置文件。

數(shù)據(jù)源要么繼承 IConfigurationSource ,要么從配置文件中讀取。

1,來自字典

我們先使用字典存儲鍵值對,來設(shè)置配置, test = 配置,然后使用 ConfigurationBuilder.Add() 方法添加數(shù)據(jù)源, Add 方法可以添加繼承了 IConfigurationSource的數(shù)據(jù)源。

MemoryConfigurationSource 繼承了 IConfigurationSource ,使用字典作為數(shù)據(jù)源。

            var dic = new Dictionary<string, string>()
            {
                ["test"] = "配置"
            };
            var config = new ConfigurationBuilder()
                .Add(new MemoryConfigurationSource() { InitialData = dic }).Build();
            string test = config["test"];

老是 new 不太爽,可以使用下面的方法來讀取字典中的數(shù)據(jù)源:

            var dic = new Dictionary<string, string>()
            {
                ["test"] = "配置"
            };
            var config = new ConfigurationBuilder()
                .AddInMemoryCollection(dic)
                .Build();
            string test = config["test"];

2,來自配置文件

假如在 項目根目錄下創(chuàng)建一個 json 文件,內(nèi)容如下:

{
"test":"配置"
}

那么可以這樣讀取配置:

            var config = new ConfigurationBuilder()
                .AddJsonFile("test.json")
                .Build();
            string test = config["test"];
            Console.WriteLine(test);

如果配置文件不在根目錄下,則可以使用 SetBasePath() 來定義路徑,示例如下:

            var config = new ConfigurationBuilder()
                .SetBasePath("E:\\test\\aaa")
                .AddJsonFile("test.json")
                .Build();

上面看到,獲取配置項是非常簡單的, config["{KeyName}"] 即可獲得 value。

另外,可以監(jiān)控 json 文件,當(dāng) json 文件發(fā)生更改時,主動更新。

                config.AddJsonFile("appsettings.json", 
                    optional: true, 
                    reloadOnChange: true);

3,層次結(jié)構(gòu)

配置數(shù)據(jù)源可以有層次結(jié)構(gòu)。

ASP.NET Core 中,都會有個 appsettings.json 文件,其內(nèi)容如下:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  }
}

那么我們使用時,可以使用 : 符號獲取下一層子項的配置。

            var config = new ConfigurationBuilder()
                .AddJsonFile("appsettings.json")
                .Build();

            string test = config["Logging:LogLevel:Default"];

如果你只想 獲取 json 文件中 LogLevel 部分的配置,可以使用 GetSection() 方法。

            var config = new ConfigurationBuilder()
                .AddJsonFile("appsettings.json")
                .Build()
                .GetSection("Logging:LogLevel");

            string test = config["Default"];

通過 json 配置文件,我們可以很方便地構(gòu)建層級結(jié)構(gòu)的配置,如果想在字典中存儲,可以使用 "{k1}:{k2}" 這種形式存。例如:

            var dic = new Dictionary<string, string>()
            {
                ["testParent:Child1"] = "6",
                ["testParent:Child2"] = "666"
            };
            var config = new ConfigurationBuilder()
                .AddInMemoryCollection(dic)
                .Build().GetSection("testParent");

            string test = config["Child1"];

4,映射

我們可以使用 Get<>() 方法,將配置映射為對象。

    public class TestOptions
    {
        public string A { get; set; }
        public string B { get; set; }
        public string C { get; set; }
    }
            var dic = new Dictionary<string, string>()
            {
                ["A"] = "6",
                ["B"] = "66",
                ["C"] = "666"
            };
            TestOptions config = new ConfigurationBuilder()
                .AddInMemoryCollection(dic)
                .Build().Get<TestOptions>();

到此這篇關(guān)于ASP.NET Core讀取配置文件的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • ASP.NET Core服務(wù)生命周期

    ASP.NET Core服務(wù)生命周期

    這篇文章介紹了ASP.NET Core中的服務(wù)生命周期,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • ASP.NET處理HTTP請求的流程:IHttpModule、IHttpHandler與管道事件

    ASP.NET處理HTTP請求的流程:IHttpModule、IHttpHandler與管道事件

    這篇文章介紹了ASP.NET處理HTTP請求的流程:IHttpModule、IHttpHandler與管道事件,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • ASP.NET中HyperLink超鏈接控件的使用方法

    ASP.NET中HyperLink超鏈接控件的使用方法

    本文主要介紹HyperLink控件的基礎(chǔ)用法以及在Repeater中綁定數(shù)據(jù)的一些技巧,希望能幫到大家。
    2016-04-04
  • ASP.NET?Core?MVC中的模型(Model)

    ASP.NET?Core?MVC中的模型(Model)

    這篇文章介紹了ASP.NET?Core?MVC中的模型(Model),文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • .Net結(jié)構(gòu)型設(shè)計模式之適配器模式(Adapter)

    .Net結(jié)構(gòu)型設(shè)計模式之適配器模式(Adapter)

    這篇文章介紹了.Net結(jié)構(gòu)型設(shè)計模式之適配器模式(Adapter),文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • ASP.NET中 CheckBox復(fù)選框控件的使用

    ASP.NET中 CheckBox復(fù)選框控件的使用

    本文主要介紹ASP.NET中CheckBox復(fù)選框控件的使用,并舉例演示其用法,希望對大家有所幫助。
    2016-04-04
  • ASP.NET Calendar日歷(日期)控件使用方法

    ASP.NET Calendar日歷(日期)控件使用方法

    本文主要介紹Calendar日歷控件的各個屬性以及舉例演示Calendar控件的具體使用方法,希望對大家有所幫助。
    2016-04-04
  • c#中常用的js語句

    c#中常用的js語句

    有時候在開發(fā)中,經(jīng)常輸出一些js與客戶端實現(xiàn)交互,雖然說是c#的其實好多js的,需要的朋友可以收藏下。
    2010-04-04
  • .NET Core 中的并發(fā)編程

    .NET Core 中的并發(fā)編程

    在.NET Core中,任務(wù) (tasks) 是并發(fā)編程的主要抽象表述,但還有其他支撐類可以使我們的工作更容易。下面小編和大家一起學(xué)習(xí)一下吧
    2019-05-05
  • asp.net實例代碼protected override void Render(HtmlTextWriter writer)

    asp.net實例代碼protected override void Render(HtmlTextWriter wri

    把最終要輸出的html壓縮后再輸出和最終輸出前先存為html文件,如果發(fā)布最新信息了,可以打開一次default.aspx,然后他又會生成一次html
    2008-08-08

最新評論

德安县| 海淀区| 厦门市| 金山区| 沙湾县| 渑池县| 江西省| 余庆县| 历史| 元谋县| 洞口县| 隆林| 岱山县| 张家川| 许昌县| 武隆县| 大庆市| 诸暨市| 白朗县| 济源市| 凭祥市| 新营市| 南宁市| 福贡县| 股票| 阳江市| 绥化市| 霍山县| 尖扎县| 横峰县| 黄大仙区| 内丘县| 合水县| 佳木斯市| 清水河县| 时尚| 临海市| 九龙县| 武隆县| 民乐县| 磐安县|