2013-03-14 50 views
1

從現有的WebApplication我用來調用WCF服務。這些服務的代理是使用「添加服務引用」菜單創建的。從而在這個項目中生成>> Web.config。從類庫調用WCF服務:App.Config vs Web.Config?

我爲解決方案添加了另一個​​。該項目還增加了對該服務的參考。從而在該項目中生成>> App.Config文件。

我知道,在一個N層應用程序中,我們應該具有通用服務的網關。只是出於好奇,我想知道 -

對於WCF呼叫起源於Web應用程序,傳播到類庫其配置文件(應用程序/網絡)將用於定位的客戶端點配置被稱爲 ?

+4

如果它是一個使用類庫的Web應用程序,那麼Web.config文件將被Web代碼和庫代碼使用。但是,您可以引用其他配置文件以包含在您的web.config中。我確實知道我的頭腦是如何的 – musefan 2013-03-14 12:53:27

回答

1

web.config文件將被用於定位服務。

原因是因爲在這種情況下,應用程序域屬於網絡應用程序,而不屬於類庫,並且此應用程序域的默認配置文件是web.config

+0

我會補充說,對於任何可執行文件(Web應用程序,Windows應用程序,控制檯應用程序等)都是如此。默認的.config是可執行應用程序的本地。所有引用的庫都將使用父應用程序.config。需要添加本地.config。以下是對繼承的一些重要考慮的參考:http://weblogs.asp.net/jgalloway/archive/2012/01/17/10-things-asp-net-developers-should-know-about-web-config -inheritance-和overrides.aspx – 2013-09-06 10:50:46

0

@musefan是正確的。這是使用的web.config。

如果你想,你可以拆分一些confuguration部分到單獨的文件,並從主web.config引用它們。您可能想要這樣做,以便您可以將WCF客戶端和服務器配置維護在一個位置,以確保它們一致。

敵人例如,如果你想單獨出<client>部分,你可以這樣做:

<client configSource="client.xml" /> 

哪裏client.xml的是包含相關的客戶端配置信息的文件。

這篇博客文章告訴你如何做得更詳細些。

http://blog.andreloker.de/post/2008/06/keep-your-config-clean-with-external-config-files.aspx