c# - 从 appsettings.json 配置文件中读取
问题描述
我的 appsettings.json 文件中有以下配置
{
"AppSettings": {
"MainUser": {
"Name": "Urs",
"Surname": "Barandun",
"SesstionTimeInMin": "30",
}
},
我想创建一个自定义配置类并绑定它。例如:
MainUserConfiguration mainUserConfiguration = new MainUserConfiguration();
var configSection = config.GetSection("MainUserConfiguration");
configSection.Bind(mainUserConfiguration);
但是,我的代码不起作用。:/
解决方案
根据您提供的内容,您的 appsettings 文件和您的配置的嵌套 JSON 不匹配。典型的 ASP.NET Coreappsettings.json
没有称为“AppSettings”的嵌套元素,而且您将获得一个名为“MainUserConfiguration”的配置部分,而您的实际 JSON 只是将该部分命名为“MainUser”。
应用设置示例:
{
"MyFirstClass": {
"Option1": "some string value",
"Option2": 42
},
"MySecondClass": {
"SettingOne": "some string value",
"SettingTwo": 42
}
}
在您的代码中:
public class MyFirstClass
{
public string Option1 { get; set; }
public int Option2 { get; set; }
}
public class MySecondClass
{
public string SettingOne { get; set; }
public int SettingTwo { get; set; }
}
在您的 Startup.cs 中(假设您正在使用已定义的Configuration
对象访问它:
var myFirstClass = Configuration.GetSection("MyFirstClass").Get<MyFirstClass>();
var mySecondClass = Configuration.GetSection("MySecondClass").Get<MySecondClass>();
Console.WriteLine($"The answer is always {myFirstClass.Option2}");
推荐阅读
- c# - Azure 认知服务 - 为什么我无法访问服务?(401 错误)
- python - 在更大的数组python中连接所有数组
- javascript - 如何在 django 模板中分离 javascript 函数
- scala - 如何在集成测试中执行此控制器操作代码?
- reportportal - 报告门户需要网络驱动程序?
- python - 如何添加空白命令?(Discord.py)
- javascript - GraphQL 突变的响应应该是什么?
- oracle - 在哪里下载适用于 Macbook 的 Oracle SQL*Loader?
- c# - c# - 合并两个列表
使用列表中的时间戳 - r - ggplot2 facet grid 有条件的 facet 和整洁的评估