c# - 如何使用 asp.net 核心从 appsettings.json 获取配置数据并做出反应
问题描述
我正在使用带有 react/redux 的 asp.net 核心,并且正在尝试将 react/redux 中的配置数据移动到 appsettings.json 文件中。但是一旦配置数据被移动;ClientApp 如何访问配置数据?
我正在为 ASP.NET Core 使用带有 Redux 启动器的 Reactjs。
更新
如果这不是存储应用程序配置的推荐方式,请告诉我是什么。
解决方案
我不建议从您的客户端读取配置文件。但是,如果您想这样做,我建议您创建一个读取 json 文件并为客户端公开一些配置的服务。
您可以像这样从 ASP.Net Core 端进行配置
示例您的 json 中有这样的配置
"EmailSettings": {
"MailServer": "",
"MailPort": ,
"Email": "",
"Password": "",
"SenderName": "",
"Sender": "",
"SysAdminEmail": ""
},
所以需要用config定义匹配模型
public class EmailSettings
{
public string MailServer { get; set; }
public int MailPort { get; set; }
public string SenderName { get; set; }
public string Sender { get; set; }
public string Email { get; set; }
public string Password { get; set; }
public string SysAdminEmail { get; set; }
}
然后在 Startup.cs 中注册
services.Configure<EmailSettings>(configuration.GetSection("EmailSettings"));
所以你可以在你的服务中使用
private readonly IOptions<EmailSettings> _emailSetting;
public EmailSender(IOptions<EmailSettings> emailSetting)
{
_emailSetting = emailSetting;
}
public string GetConfig(){
return _emailSetting.Value.SenderName;
}
推荐阅读
- boolean - 布尔逻辑表示的可除性(可满足性)
- javascript - 在按钮 SUBMIT 上将单选按钮值从表单解析为 GA
- accelerometer - MPU6050 四元数数学
- automation - VSCode 的脚本/无头自动化?
- c - 有没有办法告诉链接器在加载共享对象时忽略 DT_SONAME?
- tensorflow - 将编码的 png 写入 TFRecord
- matlab - 在您插值的点处生成具有最大值和最小值的正弦插值的最佳方法是什么?
- batch-file - 迭代目录和子目录列表以在 Windows 中的每个目录下运行特定命令
- visual-studio-code - 在 Visual Studio Code 的代码片段中打印下划线
- jquery - jQuery:如何从同一个类的多个元素中只选择一个元素?