目录
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 读取
- 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 读取
- 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 读取要读取的节点
- 然后在使用的地方构造函数注入IOptionsMonitor 进来使用
- configTestObject.CurrentValue 取出对象
Program.cs
- builder.Services.Configure<ConfigTestObject>(builder.Configuration.GetSection("TestObject"));
复制代码 构造注入
- 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 读取要读取的节点
- 然后在使用的地方构造函数注入IOptionsMonitor 进来使用
- configTestObject.CurrentValue 取出对象
Program.cs
- builder.Services.Configure<ConfigTestObject>(builder.Configuration.GetSection("TestObject"));
复制代码 构造注入
- 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]);
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |