2012-04-13 46 views
3

我在考慮構建一個集中服務來提供連接字符串以正確驗證應用程序。使用痣覆蓋到System.Configuration,而不是作爲單元測試

爲了保持服務與普通進程兼容,我一直在考慮重寫app.config或web.config中的System.Configuration ConnectionStrings是一件好事。

我想過使用痣做到這一點,但我發現的唯一例子是UnitTests。

我真的很想擁有一個對System.Configuration.ConfigurationManager類的Mole重寫,以便我可以專門重寫ConnectionStringsGet方法來查找自定義樣式的連接字符串。如果找不到,則將該調用傳遞給原始的ConfigurationManger代碼以處理正常的連接字符串。

我還沒有寫鼴鼠的任何代碼,因爲我撓我的頭如何開始這個想法。如果任何人有關於如何開始的指示,我會接受並繼續挖掘。

+0

有趣的概念,有興趣看到答覆和/或您的調查。 – 2012-04-13 14:39:44

回答

2

在這種情況下,似乎Moles並不真的支持嘗試覆蓋System.Configuration。

我發現了幾個帖子,展示了定製system.configuration過程的有希望的方法。

首先是博客文章由Andy普克http://andypook.blogspot.com/2007/07/overriding-configurationmanager.html和第二是擴展由Andy http://www.codeproject.com/Articles/69364/Override-Configuration-Manager

這些文章一直在我的思維過程有用給出的解決方案CodeProject上的文章。

0

你可能會更好地創建一個接口來從配置文件中獲取數據,以及一個只包裝靜態成員的類。然後,您可以執行自定義邏輯,並回退到標準的靜態方法。

相關問題