2010-04-07 84 views
1

我正在尋找一種方法來避免在App.config文件中的configSections中聲明我的配置部分。基本上,我想指定我的配置信息,就像我爲內置的.NET系統一樣。例如,在配置WCF時,我只是把東西放在<system.serviceModel>中,我不必在configSections的頂部聲明一個部分。同樣的事情適用於<system.diagnostics>和許多其他名稱空間。在.NET app.config文件中避免configSections

我知道我可以加載它作爲一個XML文件並解析它,但我更願意堅持使用模式,如果可能的話。此外,使用Reflector查看WCF配置,我注意到它使用了相同的配置子系統(在System.Configuration中定義)。

如果您想知道爲什麼這很重要,那是因爲它讓我們的IT人員感到困惑。如果它是在一個地方自我包含,它會更容易。我也意識到我將失去具有多個相同部分類型的能力,但這對我們的情況並不重要。

+2

如果你的IT人都被這個困惑,你需要一兩件事情:1)清除(ER)的文件,告訴他們該怎麼做。或2)新的IT人員。 – 2010-04-07 17:30:05

+0

或者一個安裝程序,沒有IT人員介入所有這一切...... – 2010-04-07 18:04:59

回答

3

我不明白 - 你需要聲明一些東西,然後才能使用它 - 即使標準的.NET配置節都是在某個地方聲明的 - 只是不在你自己的app.config中。

你不能「勝過」.NET配置系統;如果你想以標準的.NET方式來使用配置(我強烈建議 - 這是一種已知的技術,它已經很好的旅行和良好的測試),那麼你需要定義你的配置部分並將它們註冊到.NET配置系統中 - 沒有辦法。

你只是爲了避免加入那些部分,以您的應用程序本身的app.config文件的辦法是把它們放進你的machine.config(隱藏在你的系統的腸子深 - 通常在C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG目錄) - 看看它的配置部分頂部註冊!

但坦率地說:使用你的軟件在每臺機器上更新這些系統配置文件似乎比在你的app.config中定義一些配置部分更麻煩!

+0

好了,現在我知道MS如何做,而且你說得對,把我的配置部分放在machine.config中不是答案。謝謝! – 2010-04-07 18:26:50

0

正因如此,您可以使用AppSettings元素。