2016-05-29 64 views
0

我有一個類從數據庫中檢索某些設置(用戶名和密碼)。這個數據庫位於網絡上,這意味着如果密碼改變了,我可以簡單地在數據庫中修改它,所有使用這個類的應用程序仍然可以工作。特定於類的設置

我充分意識到將用戶名和密碼存儲在數據庫和單獨位置的優點和缺點。我不想討論這些。

該類有一個硬編碼的靜態字符串,它是數據庫的路徑。它是完全合格的網絡名稱(不只是驅動器號)。我這樣做是因爲我們有一個問題,我們的網絡DNS被搞砸了,而驅動器映射映射停止工作,並且有些人無論如何都有不同的驅動器映射。

我們最近有我們的服務器移動,所以我現在需要通過並更改這些硬編碼的字符串。

我在想,我應該將路徑存儲在設置/配置文件中。我考慮過「application.settings」,但它不是一個應用程序設置;其具體到班級。在現有的.Net框架(這是一個C#問題)中是否有這樣做的首選方法?

我可以簡單地在應用程序目錄中放置一個小文本或XML文件,這可能很好......是否有現有的框架名稱空間或有人知道我可以使用的開放源代碼片段?

回答

0

我想,如果你想要類特定的配置,你應該嘗試讓那些類實例,配置驅動。另一種思考方式,但;在配置文件中定義將創建定義的類名的實例。

例如:創建一個部分,並調用它,<Modules>和像創建項目:<module type="<namespace>.DBConvertor" param="username=root;passwd=whatever">這種類型將在啓動創建(你在這裏需要一些編碼)。甚至可以通過特定的配置同時創建多個實例。

這種配置已經實現: 您不妨來看看這個:「如何創建自定義配置節使用的ConfigurationSection」https://msdn.microsoft.com/en-us/library /2tw134k3.aspx

並從類型名稱創建實例,請使用Activator類。

除此之外,還有很多模塊/插件庫(如Managed Extensibility Framework (MEF)https://msdn.microsoft.com/en-us/library/dd460648(v=vs.110).aspx,但在這種情況下可能略高於頂端)。

+0

謝謝。我已經閱讀過,並且我還沒有完全清楚如何充分利用它。這是.aspx具體嗎?它似乎是一種允許配置文件驅動創建類的手段(儘管它顯然允許保存設置)。我想我更加關注如何讓一組「設置」通過一個類來管理,而不是通過附加的應用程序進行管理。 – ainwood