c# - 构建后修改WebHost配置,添加新添加文件的内容
问题描述
我想将字段添加到我在执行期间提供给 WebHost 的 IConfiguration 中,而不仅仅是在启动时。
我有一些文件,每个文件都为我提供了不同数据库的连接参数。在启动时,我将这些文件加载到配置生成器中,以便能够使用这些信息连接到由发送到服务的请求指定的数据库。
但是,如果我在运行时收到新文件,我希望能够做出反应。因此,我设置了一个 FileSystemWatcher 来监视这些新文件可能出现的文件夹。我试图读取新文件并将键/值对添加到配置中,但它似乎没有在本地上下文之外注册更改:
IConfiguration _config;
[...]
foreach (KeyValuePair<string, string> entry in readFile)
{
_config[entry.Key] = entry.Value;
Console.WriteLine(_config[entry.Key]);
}
这确实会更改本地上下文中 _config 的内容(Console.WriteLine(_config[entry.Key])
显示正确的结果)。但是,如果我尝试从处理“检测到新文件”事件的函数外部(例如在 API 控制器中)读取它,我只会得到一个空字符串。
解决方案
推荐阅读
- c++ - 比较更多 50 个字符串的有效方法
- php - 我正在尝试在 php 中继续未定义的偏移代码
- docker - 运行 docker quickstrat 终端时如何通过预创建检查解决错误?
- ibm-midrange - 在 as400 中交互和提交作业中的数据区域加载不同
- vba - 不能在 vba 上使用硒
- linux-mint - 如果面板变得不可见,如何重置/重新启动 Cinnamon
- javascript - 使用 React 类创建多个按钮
- c - “20”[1] 有什么作用?
- html - tds 中圆圈之间的车道
- c# - 如何在 dot net core 3.0/3.1 的剃须刀页面中添加区域?