WCF服务配置信息是否在客户端?

时间:2012-12-13 23:24:37

标签: c# visual-studio-2010 wcf web-config

我对WCF服务的引用有疑问。我有两个应用程序:

控制台应用程序
--library
---- WCF服务

控制台应用和库在同一解决方案中。由于库中的WCF服务,其app.config具有WCF服务的信息。

控制台应用程序配置与WCF服务无关。控制台应用程序通过库间接调用WCF服务。我猜这就是控制台应用程序在其配置中没有WCF信息的原因(因为它对Web服务一无所知)。控制台应用程序调用库中的静态方法,该方法处理WCF调用。

我在上述电话中收到此错误:

无法在ServiceModel客户端配置部分中找到引用合同“MyServiceReference.IMyService”的默认端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此合同匹配的端点元素

主机(控制台应用)是否需要来自库的WCF服务相关信息?如果是这样,为什么VS2010没有添加它。

2 个答案:

答案 0 :(得分:0)

您创建的库(层次结构中的“--Library”)可能会为您的WCF服务添加服务引用。 (“在图书馆”没有意义,所以我假设这就是你的意思)。这意味着有关WCF服务的大量信息已添加到的app.config中。该信息需要位于引用该库的任何exe的app.config中,以便库正确访问它引用的WCF服务。

答案 1 :(得分:0)

我建议运行SVCUtil.exe。您可以对运行的服务运行它,如下所示:

svcutil.exe http://localhost:Port/YourSvcClass/YourSvcMethod /language:c# 

它将做的是在c#中构建一个客户端c#(或vb)存根类,以及一个.Config文件,其中包含您需要连接的确切客户端配置文件...所有好东西。你也可以像这样对你的WCF dll运行svcutil:

svcutil.exe c:\yourfolder\YourService.dll /language:c#

无论您是否使用存根类,.config文件都将有助于设置客户端。

祝你好运