我对WCF服务的引用有疑问。我有两个应用程序:
控制台应用程序
--library
---- WCF服务
控制台应用和库在同一解决方案中。由于库中的WCF服务,其app.config具有WCF服务的信息。
控制台应用程序配置与WCF服务无关。控制台应用程序通过库间接调用WCF服务。我猜这就是控制台应用程序在其配置中没有WCF信息的原因(因为它对Web服务一无所知)。控制台应用程序调用库中的静态方法,该方法处理WCF调用。
我在上述电话中收到此错误:
无法在ServiceModel客户端配置部分中找到引用合同“MyServiceReference.IMyService”的默认端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此合同匹配的端点元素
主机(控制台应用)是否需要来自库的WCF服务相关信息?如果是这样,为什么VS2010没有添加它。
答案 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文件都将有助于设置客户端。
祝你好运