2012-12-13 51 views
0

我对WCF服务的引用有疑问。我有两个应用:WCF服务配置信息是否在客户端?

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

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

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

我收到上述调用此错误:

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

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

回答

0

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

0

我建议运行SVCUtil.exe。您可以对正在运行的服务像这样运行:

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

什么,将要做的就是建立一个客户端的C#(或VB)在c#stub类,再加上.CONFIG具有确切客户端配置文件文件你需要连接...所有的好东西。您也可以SvcUtil工具对你的WCF DLL这样运行了:

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

无论您使用的stub类与否,config文件将在设置客户端帮助。

祝你好运

相关问题