2010-03-26 98 views
2

在我的項目中,我有一個Windows服務和一個WCF服務在計算機上的相同文件夾上執行一些操作。該文件夾的位置將由用戶在Windows服務項目中包含的app.config文件中給出。從一個配置文件獲取字符串以供多個項目使用

現在,我希望WCF服務知道該文件夾的位置(用戶給出的文件夾),而無需用戶將其鍵入到WCF服務配置文件中。

我該怎麼做呢?

謝謝!

回答

1

這裏有很多的可能性:

  1. 添加Windows服務的配置文件的路徑作爲WCF服務的配置文件中的設置,並使用該路徑來讀取文件與一個XML閱讀器。

  2. 將文件夾路徑存儲在某個集中式系統(如數據庫或註冊表)中,並使這兩個服務都從該集中放置的位置獲取設置。

  3. 在每個單獨的配置文件中指定路徑,但使用後期構建事件來確保它們保持最新狀態。 (例如,也許生成後事件從數據庫檢索配置設置,然後將其寫入配置文件)

  4. 有一項服務將配置設置公開爲公共服務調用。例如,WCF服務可以調用Windows服務上的方法來確定要處理的路徑。

+0

謝謝!公共服務電話如何工作? – Andrei

1

您可以將它放在Machine.config中,並且WCF應用程序和Windows服務都可以訪問它。

http://msdn.microsoft.com/en-us/library/ms229697(VS.71).aspx

+0

雖然這將工作,我會小心將設置存儲在Machine.config文件中。一般來說,這會造成維護負擔,因爲與指定的應用程序配置文件相比,它不是尋找應用程序特定配置的非常常見的地方。但是,如果您必須在應用程序配置文件和/或源代碼中留下明確的引用作爲備註。 –

+0

通常我們在machine.config中保留所有環境特定的代碼。我不會稱之爲不常見的配置值。 – kemiller2002

相關問題