【发布时间】:2019-05-16 07:02:17
【问题描述】:
如何检查哪些配置文件/设置已更改?
我已经配置了ChangeToken.OnChange() 方法来检测配置文件的变化
var configuration = new ConfigurationBuilder()
.AddJsonFile("settings1.json", optional: true, reloadOnChange: true)
.AddJsonFile("settings2.json", optional: true, reloadOnChange: true);
.Build();
// register change callback
ChangeToken.OnChange(
() => configuration.GetReloadToken(),
() => {
logger.Info("Configuration file has been changed"); //want to know specifically what has changed
}
);
这会检测到 settings1.json 和 settings2.json 的任何更改,但我想知道哪个文件已更改,哪些属性已更改?
【问题讨论】:
-
作为mentioned in another comment,您将无法从 Microsoft.Extensions.Configuration 获取此信息。 – 我建议您在此处实际询问您要解决的真正问题,因为这对我来说似乎是XY problem,而配置不是您要寻找的答案。跨度>
-
微软提出了一个技巧来做到这一点。请参阅docs.microsoft.com/en-us/aspnet/core/fundamentals/…(这不仅对 .NET6 有效)
标签: asp.net asp.net-core