ASP.NET讀取配置文件的多種方式詳解
ASP.NET Core項(xiàng)?默認(rèn)的配置?件是appsettings.json,創(chuàng)建項(xiàng)?時(shí)就會?動(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)來演?如何讀取這個(gè)配置
app.MapGet("config", (IConfiguration configuration) => { return configuration["msg"] + "_" + configuration["Logging:LogLevel:Default"]; });
通過IOC注?IConfiguration對象,我們就可以訪問不同節(jié)點(diǎn)的配置了,如果是單層節(jié)點(diǎn), 通過configuration[“msg”]的?式進(jìn)?訪問,如果是多層級,則通過 configuration[“Logging:LogLevel:Default”]來訪問
通過GetValue方法獲取
app.MapGet("config", (IConfiguration configuration) => { return configuration.GetValue<string>("msg"); });
GetValue?法讀取對象,會報(bào)異常
通過GetSection方法獲取
app.MapGet("config", (IConfiguration configuration) => { return configuration.GetSection("msg").Value; });
讀取對象
app.MapGet("config", (IConfiguration configuration) => { return configuration.GetSection("Person").Get<Person>(); });
使用委托來配置選項(xiàng)
先定義?個(gè)實(shí)體:
public class Person { public string Name { get;set; } public int Age { get;set; } }
配置如下:
"Person": { "Name": "張三", "Age": 18 }
注冊配置:
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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
asp.net Urlrewriter在虛擬主機(jī)上的使用方法
在網(wǎng)上看到,很多朋友在asp.net中做urlrewrite,用的是HttpHandle Server.Transfer的方法。其實(shí)這種方法是錯(cuò)誤的。2009-12-12ASP.NET中UpdatePanel與jQuery同時(shí)使用所遇問題解決
在.NET中使用了UpdatePanel,里面的輸入框使用了jQuery的日歷選擇器,接下來介紹下兩者同時(shí)使用的一些細(xì)節(jié)及問題的解決方法,感興趣的各位可以參考下哈2013-03-03.Net實(shí)現(xiàn)上傳圖片按比例自動(dòng)縮小或放大的方法
這篇文章主要介紹了.Net實(shí)現(xiàn)上傳圖片按比例自動(dòng)縮小或放大的方法,實(shí)例內(nèi)容簡潔功能實(shí)用,需要的朋友可以參考下2014-09-09asp.ent下合并兩個(gè)結(jié)構(gòu)相同的DataTable
今天遇到了一個(gè)情況,就是從一張數(shù)據(jù)表中讀取幾個(gè)符合條件1的客戶的信息,然后再讀取幾個(gè)符合條件2的客戶的信息,最后顯示出來.因?yàn)榍昂髢纱螖?shù)據(jù)的客戶信息的結(jié)構(gòu)是完全相同的,所以干脆合并成一個(gè)DataTable再賦值給GridView好了.2010-02-02