使用System.IO.FileSystemWatcher带来两个体系结构问题(以及一个头痛 - 安全性)。首先是不可能在更改过程中锁定“整体配置”(静态和可重新计算),其次是提供监视线程的问题。
这会很高兴有框架事件,不幸的是没有这样的事件。但我发现有一个舒适的解决方案 - 具有重写的PostDeserialize方法的自定义配置部分。由于我不了解整个过程,因此存在一些风险:每个配置编辑TWICE都会重新创建自定义节实例,两次调用构造函数,两次调用Init方法,PostDeserialize时只调用一次 - 所有都是OK我们 - 但谁知道我们能生产满足...
public class CustomSettings : ConfigurationSection
{
protected override void PostDeserialize()
{
base.PostDeserialize();
findCertificate(this["Thumbprint"]); // searching for certificate in windows certificate repository and setup Certificate property
}
public CustomSettings()
{
InternalProperties = new ConfigurationPropertyCollection(/*... */)
}
//...
public X509Certificate Certificate { get; private set; }
}
我想哟需要提供有关您正在使用的技术的一些更多的信息,并可能相应标签的问题。 – 2010-11-17 14:59:44
嗯......我可以只添加该Web服务托管在MS IIS(惊喜),并重复我需要知道如何通知Web服务的事实,其web.config已更改(通过“手”) 。 – 2010-11-17 15:32:15