使用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