日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

如何使用ASP.NET Core 配置文件

瀏覽:303日期:2022-06-08 16:58:58
目錄
  • 前言
  • Json配置文件的使用
    • RedisHelper類
  • XML配置文件的使用

    前言

    在ASP.NET ,我們使用XML格式的.Config文件來(lái)作為配置文件,而在ASP.NET Core,我們有了更多的選擇,可以用回XML,也可以用Json、Ini文件作為配置文件

    Json配置文件的使用

    在創(chuàng)建ASP.NET Core的項(xiàng)目的時(shí)候,框架會(huì)自動(dòng)添加appsettings.json文件和添加IConfiguration的注入。

    public Startup(IConfiguration configuration){       Configuration = configuration;}

    當(dāng)我們?cè)赟tartup構(gòu)造函數(shù)添加一個(gè)IConfiguration參數(shù),框架就會(huì)根據(jù)注入庫(kù)來(lái)進(jìn)行注入,除此之外還有IHostingEnvironment,如果在構(gòu)造函數(shù)添加這個(gè)參數(shù),框架也會(huì)注入對(duì)應(yīng)的實(shí)現(xiàn)類

    如果我們想要自己添加Json配置,該怎么做呢?

        //SetBasePath方法用來(lái)指定配置文件的所在地,env.ContentRootPath是獲取或設(shè)置包含應(yīng)用程序內(nèi)容文件的目錄的絕對(duì)路徑。    //AddJsonFile方法是使用JsonConfigurationSource來(lái)接收J(rèn)son文件,并添加到ConfigurationBuilder中的Sources中    //Build()調(diào)用       var config=new ConfigurationBuilder().SetBasePath(env.ContentRootPath)  .AddJsonFile("appsettings.json")  .Build();Configuration = config;

    如果不通過(guò)IHostingEnvironment來(lái)獲取絕對(duì)路徑,也可以使用Directory.GetCurrentDirectory()方法來(lái)獲得

    測(cè)試:

    public IActionResult Index(){     var config = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json").Build();      string value = config.GetConnectionString("MySqlConnection");          string value2 = config.GetSection("Test").Value;         return Content($"{value},Test:{value2}");}
    public IActionResult Index(){     var config = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json").Build();      string value = config.GetConnectionString("MySqlConnection");          string value2 = config.GetSection("Test").Value;         return Content($"{value},Test:{value2}");}

    那復(fù)雜的鍵值或者數(shù)組,又該如何獲得呢?

    {    "Teacher": {    "name": "Tom",    "age": "12",    "Students": [      {"name": "Docker","age": "13"      },      {"name": "Nginx","age": "45"      }    ]  }    	}

    我們想要獲取Teacher的name值數(shù)組Students第二個(gè)的name值,怎么獲取呢?

    public IActionResult Index(){   var config = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json").Build();   string value = config.GetSection("Teacher:name").Value;   //   string value2 = config.GetSection("Teacher:Students:1:name").Value;     return Content($"{value},Test:{value2}");   }

    PS:從Teacher:name和Teacher:Students:1:name這兩個(gè)中可以尋找規(guī)律,當(dāng)然獲取方式不止這一種,還可以使用Config[“Teacher:Students:1:name”]來(lái)獲取

    如果我們想用對(duì)象來(lái)存儲(chǔ)配置文件的鍵值該如何做呢?

    //appsetting.json{   "RedisConfig": {    "host": "127.0.0.1",    "MasterPort": "6379",    "SlavePort": "6380",    "PassWord": "wen123"   }}

    RedisHelper類

    public class RedisHelper:IRedis{   public string host { get; set; }      public string MasterPort { get; set; }      public string SlavePort { get; set; }      public string PassWord { get; set; }   }
    public IActionResult Index(){    var config = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json").Build();    //創(chuàng)建一個(gè)自帶的IOC容器    var collection = new ServiceCollection();    collection.AddOptions().Configure<RedisHelper>(config.GetSection("RedisConfig"));    RedisHelper redishelper = collection.BuildServiceProvider().GetService<IOptions<RedisHelper>>().Value;        return Content($"host:{redishelper.host},MasterPort:{redishelper.MasterPort}");}

    還有另一種寫(xiě)法:在Startup類的ConfigureServices方法里面,向services添加代碼,通過(guò)構(gòu)造函數(shù)來(lái)構(gòu)造RedisHelper類

    services.AddOptions().Configure<RedisHelper>(Configuration.GetSection("RedisConfig"));
    private RedisHelper _redis;public HomeController(IOptions<RedisHelper> options){       _redis = options.Value;}public IActionResult Index(){     return Content($"host:{_redis.host},MasterPort:{_redis.MasterPort}");}

    XML配置文件的使用

    這里簡(jiǎn)單記錄一下,提取配置文件的值大致與上面做法沒(méi)有太大的區(qū)別,在構(gòu)造IConfiguration的時(shí)候把AddJsonFile改成AddXmlFile就行了

    //XMLDemo文件<?xml version="1.0" encoding="utf-8" ?><Test>  <mysqlConnectionStrings>sdfl</mysqlConnectionStrings>  <test>    <connection>sdfasdf</connection>    <connection2>sdfdsafsfs</connection2>  </test>  <test2>    <test3>      <connection>dfgfdg</connection>    </test3>  </test2></Test>
    public IActionResult Index(){     var config = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory())  .AddXmlFile("XMLDemo.xml").Build();     var value = config.GetSection("mysqlConnectionStrings").Value;     var value2 = config.GetSection("test:connection2").Value;     return Content($"value:{value},value2:{value2}");

    到此這篇關(guān)于如何使用ASP.NET Core 配置文件的文章就介紹到這了,更多相關(guān)ASP.NET Core 配置文件內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

    標(biāo)簽: ASP.NET
    日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
    老司机精品视频网| 成人一区而且| 神马日本精品| 国产66精品| 欧美丰满日韩| 影视先锋久久| jiujiure精品视频播放| 久久国产免费| 好吊一区二区三区| 国产精品美女久久久| 宅男噜噜噜66国产日韩在线观看| 亚洲h色精品| 噜噜噜久久亚洲精品国产品小说| 亚洲欧美视频一区二区三区| 一区二区小说| 男人的天堂久久精品| 亚洲精品免费观看| 麻豆精品新av中文字幕| 亚洲永久av| 日av在线不卡| 国模大尺度视频一区二区| 精品免费av在线| 日精品一区二区三区| 欧美精品aa| 欧美一区二区三区高清视频| 亚洲精品综合| 成人国产精品| 蜜桃免费网站一区二区三区| 久久午夜影院| 国产99亚洲| 国产乱码精品| 五月天激情综合网| 日本精品国产| 免费在线小视频| 日韩高清在线不卡| 亚洲午夜精品久久久久久app| 中文字幕免费一区二区| 国产成人免费精品| 日韩精品一区第一页| 日韩欧美另类一区二区| 日韩1区2区日韩1区2区| 久久国产主播| 麻豆极品一区二区三区| 亚洲精品第一| 亚洲韩日在线| 91一区二区三区四区| 日韩精品视频在线看| 尤物在线精品| 999国产精品视频| 国产精品18| 亚洲人成亚洲精品| 99pao成人国产永久免费视频 | 首页国产精品| 国产福利一区二区精品秒拍| 日韩中文字幕在线一区| 99久久久久| 色黄视频在线观看| 成午夜精品一区二区三区软件| 国产精品草草| 麻豆精品在线视频| 成人日韩av| 国产精品蜜芽在线观看| 美女在线视频一区| 欧美a级一区二区| 国产精品2023| 成人免费一区| 成人久久久久| 午夜欧美精品| 免费在线观看一区二区三区| 水野朝阳av一区二区三区| 蜜桃国内精品久久久久软件9| 神马午夜在线视频| 欧美天堂亚洲电影院在线观看| 亚洲激情精品| 日韩一区二区三区精品| 欧美日韩1区| 精品视频91| 激情丁香综合| 亚洲精品国模| 精品国产乱码| 午夜国产欧美理论在线播放| 亚洲三级视频| 精品视频久久| 视频一区二区不卡| 免费日韩一区二区三区| 色偷偷色偷偷色偷偷在线视频| 激情综合网五月| 日韩精品福利一区二区三区| 精品中文字幕一区二区三区 | 国产日韩欧美一区二区三区 | 日韩久久99| 欧洲一级精品| 日韩综合一区二区三区| 日本激情一区| 亚洲精品黄色| 中文字幕系列一区| 国产剧情在线观看一区| 在线看片福利| 亚洲精品进入| 国产精品av久久久久久麻豆网| 日韩精品成人| 1024精品久久久久久久久| 国产日韩高清一区二区三区在线 | 久久青青视频| 国产精品亚洲产品| 蜜臀久久久99精品久久久久久| 高清日韩中文字幕| 欧美日韩夜夜| 免费在线欧美视频| 午夜国产一区二区| 日韩中文首页| 久久国产欧美日韩精品| 久久亚洲二区| 欧美成人亚洲| 99久精品视频在线观看视频| 精品中文在线| 国产日本亚洲| 日本aⅴ精品一区二区三区| 日韩午夜免费| 欧美+亚洲+精品+三区| 色网在线免费观看| 日韩久久电影| 成人欧美一区二区三区的电影| 国产精品久久久久久久久久齐齐| 欧美特黄一级| 亚洲欧美久久久| 亚洲香蕉网站| 最新国产拍偷乱拍精品| 欧美69视频| av不卡在线看| 久久福利精品| 亚洲人成亚洲精品| 日韩视频1区| 国产精品三级| 国内精品亚洲| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 精品国产免费人成网站| 日韩av二区| 激情六月综合| 视频一区欧美精品| 欧美一区二区三区免费看| 国产亚洲一区| 久久久久久自在自线| 国产一区亚洲| 日韩中出av| 狠狠久久伊人中文字幕| 精品捆绑调教一区二区三区 | 日韩国产一区| 伊人久久大香伊蕉在人线观看热v| 日韩中文字幕不卡| 国产精品久久久免费| 成人亚洲欧美| 在线看片日韩| 国产精品成久久久久| 欧美日韩国产综合网| 日韩精品久久理论片| jizzjizz中国精品麻豆| 午夜宅男久久久| 欧美一级全黄| 欧美日韩在线二区| 蜜乳av另类精品一区二区| 老司机免费视频一区二区| 欧美日韩第一| 麻豆精品在线播放| 免费精品视频在线| 欧美男人天堂| 日韩精品免费一区二区夜夜嗨 | 免费毛片在线不卡| 国产精品视频3p| 亚洲欧美不卡| 久久国产日韩| 日本在线成人| 亚洲一区不卡| 色老板在线视频一区二区| 91成人精品观看| 最新亚洲一区| 国产v综合v| 成人在线视频免费| 欧美偷窥清纯综合图区| 国产精品视区| 欧美日韩国产高清电影| 免费看av不卡| 国内精品麻豆美女在线播放视频| 四虎在线精品| 亚洲视频国产精品| 热久久久久久久| 久久精品高清| 亚洲日本网址| 亚洲不卡系列| 高潮一区二区| 日韩理论视频| 91精品啪在线观看国产18 | 鲁大师影院一区二区三区| 午夜国产欧美理论在线播放 | 精品视频97| 日本美女一区| 国产理论在线| 丝袜美腿诱惑一区二区三区| 在线看片福利| 欧美成人高清|