首页 > 解决方案 > 构建后修改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#asp.net-core

解决方案


推荐阅读