ASP.NET讀取配置文件的多種方式詳解
ASP.NET Core項(xiàng)?默認(rèn)的配置?件是appsettings.json,創(chuàng)建項(xiàng)?時(shí)就會(huì)?動(dòng)?成這個(gè)文件,我們可以將?些配置信息存放在這個(gè)配置?件中,這樣做的好處是當(dāng)我們修改配置?件 時(shí),不在需要重啟應(yīng)?,可以實(shí)現(xiàn)熱更新。
{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, "AllowedHosts": "*", "msg": "hello world" }
IConfiguration
個(gè)路由終結(jié)點(diǎn)來(lái)演?如何讀取這個(gè)配置
app.MapGet("config", (IConfiguration configuration) => { return configuration["msg"] + "_" + configuration["Logging:LogLevel:Default"]; });
通過(guò)IOC注?IConfiguration對(duì)象,我們就可以訪(fǎng)問(wèn)不同節(jié)點(diǎn)的配置了,如果是單層節(jié)點(diǎn), 通過(guò)configuration[“msg”]的?式進(jìn)?訪(fǎng)問(wèn),如果是多層級(jí),則通過(guò) configuration[“Logging:LogLevel:Default”]來(lái)訪(fǎng)問(wèn)
通過(guò)GetValue方法獲取
app.MapGet("config", (IConfiguration configuration) => { return configuration.GetValue<string>("msg"); });
GetValue?法讀取對(duì)象,會(huì)報(bào)異常
通過(guò)GetSection方法獲取
app.MapGet("config", (IConfiguration configuration) => { return configuration.GetSection("msg").Value; });
讀取對(duì)象
app.MapGet("config", (IConfiguration configuration) => { return configuration.GetSection("Person").Get<Person>(); });
使用委托來(lái)配置選項(xiàng)
先定義?個(gè)實(shí)體:
public class Person { public string Name { get;set; } public int Age { get;set; } }
配置如下:
"Person": { "Name": "張三", "Age": 18 }
注冊(cè)配置:
builder.Services.Configure<Person> (builder.Configuration.GetSection("Person"));
使?配置:
app.MapGet("config", (IOptions<Person> options) => { return $"{options.Value.Name},{options.Value.Age}"; });
到此這篇關(guān)于A(yíng)SP.NET讀取配置文件的多種方式詳解的文章就介紹到這了,更多相關(guān)ASP.NET讀取配置文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
asp.net Urlrewriter在虛擬主機(jī)上的使用方法
在網(wǎng)上看到,很多朋友在asp.net中做urlrewrite,用的是HttpHandle Server.Transfer的方法。其實(shí)這種方法是錯(cuò)誤的。2009-12-12asp.net 頁(yè)面編碼常見(jiàn)問(wèn)題小結(jié)
2010-06-06ASP.NET過(guò)濾類(lèi)SqlFilter,防止SQL注入
本文分享一個(gè)防SQL注入的過(guò)濾類(lèi)SqlFilter,可以防止通過(guò)POST、GET和Cookies的注入。2016-03-03asp.net 購(gòu)物車(chē)的實(shí)現(xiàn)淺析
我從來(lái)沒(méi)有進(jìn)行過(guò)正式的web開(kāi)發(fā),但是我一直喜歡web,所以這篇文章也是我轉(zhuǎn)行web的一個(gè)開(kāi)始吧。或多或少我也參考了幾個(gè)網(wǎng)站的實(shí)現(xiàn)(當(dāng)然了,只是看看大概的功能而已),所以也請(qǐng)大家多多指教。2011-02-02ASP.NET中UpdatePanel與jQuery同時(shí)使用所遇問(wèn)題解決
在.NET中使用了UpdatePanel,里面的輸入框使用了jQuery的日歷選擇器,接下來(lái)介紹下兩者同時(shí)使用的一些細(xì)節(jié)及問(wèn)題的解決方法,感興趣的各位可以參考下哈2013-03-03.Net實(shí)現(xiàn)上傳圖片按比例自動(dòng)縮小或放大的方法
這篇文章主要介紹了.Net實(shí)現(xiàn)上傳圖片按比例自動(dòng)縮小或放大的方法,實(shí)例內(nèi)容簡(jiǎn)潔功能實(shí)用,需要的朋友可以參考下2014-09-09asp.ent下合并兩個(gè)結(jié)構(gòu)相同的DataTable
今天遇到了一個(gè)情況,就是從一張數(shù)據(jù)表中讀取幾個(gè)符合條件1的客戶(hù)的信息,然后再讀取幾個(gè)符合條件2的客戶(hù)的信息,最后顯示出來(lái).因?yàn)榍昂髢纱螖?shù)據(jù)的客戶(hù)信息的結(jié)構(gòu)是完全相同的,所以干脆合并成一個(gè)DataTable再賦值給GridView好了.2010-02-02