Asp.net

將設置移動到另一個配置文件

  • December 7, 2009

是否可以將 applicationSettings 移動到另一個配置文件,就像使用 connectionStrings 或 appSettings 一樣?

當我使用設計器為我的 Web 應用程序創建設置時,我在 web.config 中獲得了 applicationSettings 部分,例如:

 <applicationSettings>
   <TestWebApplication.Properties.Settings>
     <setting name="AnotherSetting" serializeAs="String">
       <value>Another setting value</value>
     </setting>
   </TestWebApplication.Properties.Settings>
 </applicationSettings>

我希望能夠將它們移動到另一個文件,例如 appSettings:

<appSettings configSource="config\appsettings.config"/>

我正在處理一個項目,該項目具有通過設計器生成的類訪問的大量設置,而 web.config 很難在多個環境之間維護。如果我可以強制設置類使用 appSettings 而不是 applicationSettings,那就更好了。

是否可以?

提前感謝您的幫助。

Waaaay這個問題遲到了,但我只是在這個問題上撞到牆上。事實證明您可以這樣做,只是不能針對整個 applicationSettings 節點,您必須分別執行 applicationSettings 的每個子節點。我從MSDN SectionInformation.ConfigSource文章的底部得到了神奇的資訊。

app.config/web.config 內容

<applicationSettings>
   <TestWebApplication.Properties.Settings configSource="externalfile.config" />
</applicationSettings>

externalfile.config 內容:

<TestWebApplication.Properties.Settings>
   <setting name="AnotherSetting" serializeAs="String">
       <value>Another setting value</value>
   </setting>
</TestWebApplication.Properties.Settings>

是的,當然有可能!任何配置文件中的任何 ConfigurationSection 都可以通過 configSource=“otherConfigFile.config” 屬性“外部化”。

如果我可以強制設置類使用 appSettings 而不是 applicationSettings,那就更好了。

為此,您需要擺脫在 .NET 中使用漂亮的視覺化“設置”類並直接使用 ConfigurationManager。這樣,您可以將設置放入 <appSettings> 並使用 ConfigurationManager.AppSettings 讀取它們

$$ “keyname” $$. 馬克

引用自:https://stackoverflow.com/questions/821735