我想将字段添加到我在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控制器中)读取它,则只会得到一个空字符串。