ToB企服应用市场:ToB评测及商务社交产业平台

标题: .Net Core 读取配置文件 [打印本页]

作者: 北冰洋以北    时间: 2023-7-19 23:20
标题: .Net Core 读取配置文件

目录

appsetting.json

  1. {
  2.   "Name": "刘德华",
  3.   "Teacher": {
  4.     "Name": "张无忌",
  5.     "Age": "125"
  6.   },
  7.   "ReadConfigArray": [
  8.     "ReadConfigArray_1",
  9.     "ReadConfigArray_2",
  10.     "ReadConfigArray_3"
  11.   ],
  12.   "TestObject": {
  13.     "Name": "刘德华",
  14.     "Teacher": {
  15.       "Name": "张无忌",
  16.       "Age": "125"
  17.     },
  18.     "ReadConfigArray": [
  19.       "ReadConfigArray_1",
  20.       "ReadConfigArray_2",
  21.       "ReadConfigArray_3"
  22.     ]
  23.   }
  24. }
复制代码
IConfiguration 读取

  1. Console.WriteLine("name: "+_configuration["Name"]);
  2. Console.WriteLine("Teacher:Name " + _configuration["Teacher:Name"]);
  3. Console.WriteLine("Teacher:Age " + _configuration["Teacher:Age"]);
  4. Console.WriteLine("ReadConfigArray:0 " + _configuration["ReadConfigArray:0"]);
  5. Console.WriteLine("ReadConfigArray:1 " + _configuration["ReadConfigArray:1"]);
  6. Console.WriteLine("ReadConfigArray:2 " + _configuration["ReadConfigArray:2"]);
复制代码
IConfiguration Bind 读取


  1. using NuGet.DependencyResolver;
  2. namespace Entity
  3. {
  4.     public class ConfigTestObject
  5.     {
  6.         public string? Name { get; set; }
  7.         public ConfigTestObjectTeacher? Teacher { get; set; }
  8.         public List<string>? ReadConfigArray { get;set; }
  9.     }
  10.     public class ConfigTestObjectTeacher
  11.     {
  12.         public string? Name { get; set; }
  13.         public int Age { get; set; }
  14.     }
  15. }
复制代码
  1. ConfigTestObject configTestObject = new ConfigTestObject();
  2. _configuration.Bind("TestObject", configTestObject);
  3. Console.WriteLine("name: " + configTestObject.Name);
  4. Console.WriteLine("Teacher:Name " + configTestObject.Teacher?.Name);
  5. Console.WriteLine("Teacher:Age " + configTestObject.Teacher?.Age);
  6. Console.WriteLine("ReadConfigArray:0 " + configTestObject.ReadConfigArray?[0]);
  7. Console.WriteLine("ReadConfigArray:1 " + configTestObject.ReadConfigArray?[1]);
  8. Console.WriteLine("ReadConfigArray:2 " + configTestObject.ReadConfigArray?[2]);
复制代码
IOptionsMonitor 读取

Program.cs
  1. builder.Services.Configure<ConfigTestObject>(builder.Configuration.GetSection("TestObject"));
复制代码
构造注入
  1. ConfigTestObject _configTestObject1;
  2. public TestIConfigurationController(IOptionsMonitor<ConfigTestObject> configTestObject)
  3. {
  4.     _configTestObject1 = configTestObject.CurrentValue;
  5. }
复制代码
使用
  1. Console.WriteLine("TestIOptionsMonitor...");
  2. Console.WriteLine("name: " + _configTestObject1.Name);
  3. Console.WriteLine("Teacher:Name " + _configTestObject1.Teacher?.Name);
  4. Console.WriteLine("Teacher:Age " + _configTestObject1.Teacher?.Age);
  5. Console.WriteLine("ReadConfigArray:0 " + _configTestObject1.ReadConfigArray?[0]);
  6. Console.WriteLine("ReadConfigArray:1 " + _configTestObject1.ReadConfigArray?[1]);
  7. Console.WriteLine("ReadConfigArray:2 " + _configTestObject1.ReadConfigArray?[2]);
复制代码
IOptions 读取

Program.cs
  1. builder.Services.Configure<ConfigTestObject>(builder.Configuration.GetSection("TestObject"));
复制代码
构造注入
  1. ConfigTestObject _configTestObject1;
  2. public TestIConfigurationController(IOptions<ConfigTestObject> configTestObject)
  3. {
  4.     _configTestObject1 = configTestObject.Value;
  5. }
复制代码
使用
  1. Console.WriteLine("TestIOptionsMonitor...");
  2. Console.WriteLine("name: " + _configTestObject1.Name);
  3. Console.WriteLine("Teacher:Name " + _configTestObject1.Teacher?.Name);
  4. Console.WriteLine("Teacher:Age " + _configTestObject1.Teacher?.Age);
  5. Console.WriteLine("ReadConfigArray:0 " + _configTestObject1.ReadConfigArray?[0]);
  6. Console.WriteLine("ReadConfigArray:1 " + _configTestObject1.ReadConfigArray?[1]);
  7. Console.WriteLine("ReadConfigArray:2 " + _configTestObject1.ReadConfigArray?[2]);
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4