2012-11-07 32 views
0

我有兩個ConfigurationElement對象(其中一個位於正在運行的應用程序的app.config中),我需要將其中一個替換爲另一個。我也有第一個元素所屬的ConfigurationElementCollection。它看起來像添加和刪除方法是內部保護的。它不是爲了能夠在運行時更新ConfigurationElementCollection對象嗎?如果是這樣,有什麼選擇?在運行時覆蓋/替換app.config中的ConfigurationElements

謝謝。

回答

1

ConfigurationElementCollection是一個抽象類,所以具體集合類可能會公開要添加和刪除的方法。

然而,使用ConfigurationManager.GetSection方法配置在檢索時是隻讀所以即使方法是訪問他們將無法正常工作:

的GetSection方法訪問運行時的配置信息,它不能改變。要更改配置,請使用通過使用以下Open方法之一獲得的配置文件上的GetSection方法:

您需要完成什麼以及誰在使用該配置?您可能能夠在更高級別更改其行爲,而不是交換配置信息。

+0

我想要做的是採取兩個單獨的app.config文件,並在運行時合併它們。我不能只處理一個XML合併,因爲一個ConfigurationElement是否應該關聯另一個,這是基於只有在這些元素被加載到內存中時纔可訪問的屬性。我也想盡可能通用(即只處理抽象類) – user981225

+0

誰在使用這個配置,怎麼做?通過ConfigurationManager.GetSection? – fsimonazzi