2010-02-05 143 views
5

我們有一個有點複雜的項目,原始開發人員爲了組織目的而將其拆分爲多個項目。這對我意味着什麼,我有一個ASP.Net網站,它有一個web.config幷包含各種良好的設置,另一個項目編譯爲一個擁有自己.config文件的app.config文件的DLL。.Net配置文件混淆

在DLL,這將是非常好的,能夠訪問所有我在ASP.Net proejct的Web.config文件中的AppSettings。

這可能嗎?這是不錯的做法嗎?我真的不想複製和粘貼相同的信息,並且必須手動將它們保持在2之間同步(實際上最多可能有20個 - 這是一個大型項目,有人將它組織到一個荒謬的級別).config文件。

任何建議或最佳實踐?

回答

3

這實際上是默認行爲 - ConfigurationManager.AppSettings讀取當前web.config所有的DLL。
有時.config文件是爲其他項目(或dll)創建的,但它們不在本站中使用,應合併到web.config

+0

非常感謝!我試圖測試,但我很害怕在部署時會錯過一些奇怪的情況組合。 – 2010-02-05 22:24:02

0

System.Web.Configuration.WebConfigurationManager.AppSettings訪問來自任何類庫web.config。只要確保將對System.ConfigurationSystem.Web的引用添加到任何需要訪問此庫的庫。

並回答您的有關標準初步實踐問題,是的,它是常見的應用程序鍵/值存儲在web.config中保持對事物的ASP.NET Web應用程序和網站集中。在你的web.config中,只需像在app.settings文件中一樣使用<appSettings>部分即可。

+0

你說得對,但你爲什麼要引用'System.Web'?你可以引用'System.Configuration',並且一切都應該很好,例如。通過'ConfigurationManager.AppSettings'獲取應用程序設置。 – 2010-02-05 17:36:55

+0

夠公平的。我傾向於使用WebConfigurationManager中特定於Web應用程序的附加功能,所以我更喜歡它。如果簡單地找到名稱/值對是所有的OP需求,ConfigurationManager可能是更好的解決方案... – 2010-02-05 17:49:49

+0

好的討論兩個經理及其使用: http://stackoverflow.com/questions/698157/whats-the-差之間最webconfigurationmanager和最configurationma/698163 – 2010-02-05 17:50:17