- appsetting.json
- IConfiguration 讀取
- IConfiguration Bind 讀取
-
IOptionsMonitor 讀取
- Program.cs
- 構(gòu)造注入
- 使用
-
IOptions 讀取
- Program.cs
- 構(gòu)造注入
- 使用
appsetting.json
- 用于測試appsetting.json
{
"Name": "劉德華",
"Teacher": {
"Name": "張無忌",
"Age": "125"
},
"ReadConfigArray": [
"ReadConfigArray_1",
"ReadConfigArray_2",
"ReadConfigArray_3"
],
"TestObject": {
"Name": "劉德華",
"Teacher": {
"Name": "張無忌",
"Age": "125"
},
"ReadConfigArray": [
"ReadConfigArray_1",
"ReadConfigArray_2",
"ReadConfigArray_3"
]
}
}
IConfiguration 讀取
- 直接構(gòu)造函數(shù)注入
Console.WriteLine("name: "+_configuration["Name"]);
Console.WriteLine("Teacher:Name " + _configuration["Teacher:Name"]);
Console.WriteLine("Teacher:Age " + _configuration["Teacher:Age"]);
Console.WriteLine("ReadConfigArray:0 " + _configuration["ReadConfigArray:0"]);
Console.WriteLine("ReadConfigArray:1 " + _configuration["ReadConfigArray:1"]);
Console.WriteLine("ReadConfigArray:2 " + _configuration["ReadConfigArray:2"]);
IConfiguration Bind 讀取
- 使用Bind方法與對象綁定,然后操作對象即可,
- 注意: 對象屬性與配置文件節(jié)點相同
using NuGet.DependencyResolver;
namespace Entity
{
public class ConfigTestObject
{
public string? Name { get; set; }
public ConfigTestObjectTeacher? Teacher { get; set; }
public List<string>? ReadConfigArray { get;set; }
}
public class ConfigTestObjectTeacher
{
public string? Name { get; set; }
public int Age { get; set; }
}
}
ConfigTestObject configTestObject = new ConfigTestObject();
_configuration.Bind("TestObject", configTestObject);
Console.WriteLine("name: " + configTestObject.Name);
Console.WriteLine("Teacher:Name " + configTestObject.Teacher?.Name);
Console.WriteLine("Teacher:Age " + configTestObject.Teacher?.Age);
Console.WriteLine("ReadConfigArray:0 " + configTestObject.ReadConfigArray?[0]);
Console.WriteLine("ReadConfigArray:1 " + configTestObject.ReadConfigArray?[1]);
Console.WriteLine("ReadConfigArray:2 " + configTestObject.ReadConfigArray?[2]);
IOptionsMonitor 讀取
- Program.cs 讀取要讀取的節(jié)點
- 然后在使用的地方構(gòu)造函數(shù)注入IOptionsMonitor 進來使用
- configTestObject.CurrentValue 取出對象
Program.cs
builder.Services.Configure<ConfigTestObject>(builder.Configuration.GetSection("TestObject"));
構(gòu)造注入
ConfigTestObject _configTestObject1;
public TestIConfigurationController(IOptionsMonitor<ConfigTestObject> configTestObject)
{
_configTestObject1 = configTestObject.CurrentValue;
}
使用
Console.WriteLine("TestIOptionsMonitor...");
Console.WriteLine("name: " + _configTestObject1.Name);
Console.WriteLine("Teacher:Name " + _configTestObject1.Teacher?.Name);
Console.WriteLine("Teacher:Age " + _configTestObject1.Teacher?.Age);
Console.WriteLine("ReadConfigArray:0 " + _configTestObject1.ReadConfigArray?[0]);
Console.WriteLine("ReadConfigArray:1 " + _configTestObject1.ReadConfigArray?[1]);
Console.WriteLine("ReadConfigArray:2 " + _configTestObject1.ReadConfigArray?[2]);
IOptions 讀取
- Program.cs 讀取要讀取的節(jié)點
- 然后在使用的地方構(gòu)造函數(shù)注入IOptionsMonitor 進來使用
- configTestObject.CurrentValue 取出對象
Program.cs
builder.Services.Configure<ConfigTestObject>(builder.Configuration.GetSection("TestObject"));
構(gòu)造注入
ConfigTestObject _configTestObject1;
public TestIConfigurationController(IOptions<ConfigTestObject> configTestObject)
{
_configTestObject1 = configTestObject.Value;
}
使用
Console.WriteLine("TestIOptionsMonitor...");
Console.WriteLine("name: " + _configTestObject1.Name);
Console.WriteLine("Teacher:Name " + _configTestObject1.Teacher?.Name);
Console.WriteLine("Teacher:Age " + _configTestObject1.Teacher?.Age);
Console.WriteLine("ReadConfigArray:0 " + _configTestObject1.ReadConfigArray?[0]);
Console.WriteLine("ReadConfigArray:1 " + _configTestObject1.ReadConfigArray?[1]);
Console.WriteLine("ReadConfigArray:2 " + _configTestObject1.ReadConfigArray?[2]);
文章來源地址http://www.zghlxwxcb.cn/news/detail-583392.html
文章來源:http://www.zghlxwxcb.cn/news/detail-583392.html
到了這里,關(guān)于.Net Core 讀取配置文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!