2013-03-14 55 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