2013-04-08 97 views
0

我有一個解決方案,其中有許多項目。主要解決方案中的三個項目在其中包含Web服務調用。這些Web服務項目(.dll)出去,獲取一些數據,然後返回(正常操作)。然後他們處理數據,並將其呈現給主應用程序(解決方案中的另一個項目)。Web服務引用

每個項目都有自己的app.config文件,它將引用設置爲公開的Web服務的位置,並且引用設置爲動態。

我不分配.config文件的項目中,只有在解決方案中的主要項目。

我的問題,經過長期的描述是這樣的....

可以在其他項目中看到和使用的主要應用程序的app.config?

我想要做的是使用一個app.config,並讓所有的項目引用一個app.config文件來獲取公開的Web服務的位置。

這可以完成嗎?

旁邊的問題....如果我沒有爲解決方案中的其他項目分發app.config dlls,他們如何知道暴露的Web服務的位置?

第三方問題 - 如果我將其他項目app.config與解決方案分開,項目是否會引用附加的app.config dll,或者他們是否會忽略它,並使用硬編碼(構建時)引用?

謝謝

+0

如果服務項目dll被加載到主應用程序的域中,他們應該'看'對主應用程序的app.config中定義的服務的引用,因此您需要在主應用程序的配置文件中僅定義一次引用。你有沒有試圖做到這一點? – 2013-04-08 12:48:53

+0

沒有 - 我還沒有包括在主要項目其他項目的Web服務地點的位置的app.config – pithhelmet 2013-04-08 12:54:19

回答

1

Can the other projects see and use the app.config of the main application

是。一般來說,如果主項目引用其他項目(我認爲它必須),那麼當您構建和部署主項目時,該項目的app.config文件中指定的app.config設置將用於配置引用其他項目。

if i do not distribute the app.config dlls for the other projects in the solution, how do they know know the location of the exposed web services?

因爲你已經在主項目的app.config中指定它們。

if i distribute the other projects app.config with the solution, will the projects reference the attached app.config dll, or will they ignore it, and use the hard coded (at build time) references?

他們應該使用在App.config指定的設置,在運行時。

+0

的Web服務的位置不包括在主要的app.config ....如果我將它們包括在主app.config,它們可用於其他項目嗎? – pithhelmet 2013-04-08 12:52:21

+0

如果未找到本地app.config,程序集將在appdomain中查找配置文件。 – 2013-04-08 12:52:52

+0

@pithhelmet - 如果你將它們包含在主要的app.config中,其他項目會將它們提取出來,是的。正如Elad所說,他們會在appdomain中尋找一個配置文件,如果你的主項目中有一個配置文件(配置文件),他們會找到並使用它。 – 2013-04-08 14:15:31