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ì)象,我們就可以訪問(wèn)不同節(jié)點(diǎn)的配置了,如果是單層節(jié)點(diǎn), 通過(guò)configuration[“msg”]的?式進(jìn)?訪問(wèn),如果是多層級(jí),則通過(guò) configuration[“Logging:LogLevel:Default”]來(lái)訪問(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)于ASP.NET讀取配置文件的多種方式詳解的文章就介紹到這了,更多相關(guān)ASP.NET讀取配置文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
asp.net(C#)把漢字轉(zhuǎn)化成全拼音函數(shù)(全拼)
asp.net(C#)把漢字轉(zhuǎn)化成全拼音函數(shù)的代碼,需要的朋友可以參考下。2009-12-12
Asp.net實(shí)現(xiàn)選擇性的保留DataTable中的列
選擇性的保留DataTable中的列(移除列/保留列不移除/移除不需要的列),很多新手朋友們都想實(shí)現(xiàn)這樣的功能,本文總結(jié)了一些可行方法,感興趣的朋友可以了解下哦2013-01-01
asp.net錯(cuò)誤處理Application_Error事件示例
Application_Error事件與Page_Error事件相類似,可使用他捕獲發(fā)生在應(yīng)用程序中的錯(cuò)誤。由于事件發(fā)生在整個(gè)應(yīng)用程序范圍內(nèi),因此您可記錄應(yīng)用程序的錯(cuò)誤信息或處理其他可能發(fā)生的應(yīng)用程序級(jí)別的錯(cuò)誤2014-01-01
基于MVC5中的Model層開發(fā)數(shù)據(jù)注解
下面小編就為大家分享一篇基于MVC5中的Model層開發(fā)數(shù)據(jù)注解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
Entity Framework使用Code First模式管理數(shù)據(jù)庫(kù)
本文詳細(xì)講解了Entity Framework使用Code First模式管理數(shù)據(jù)庫(kù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
Entity Framework中執(zhí)行sql語(yǔ)句
這篇文章介紹了Entity Framework中執(zhí)行sql語(yǔ)句的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
ASP.NET編譯執(zhí)行常見錯(cuò)誤及解決方法匯總
ASP.NET編譯執(zhí)行常見錯(cuò)誤及解決方法匯總,開發(fā)asp.net的朋友可以參考下。方便以后解決一些錯(cuò)誤。2011-12-12

