在ServiceModel客户端配置部分中找不到名称为'和'I'的端点元素。

时间:2012-02-21 12:46:42

标签: wcf client wcf-binding wcf-endpoint servicecontract

我正在开发Base WCF服务 - 客户端WCF服务 - Consumer Base Wcf servcie模型如下:

enter image description here

在这个模型中,我创建了一个基本WCF服务并创建了1个WCF服务,即; ClientWCFService和1 ASMX服务,即; ClientASMXservice使用BaseWCFServiceProxy.cs使用SVCUtil.exe的Base WCF服务的Proxy类。

ClientWCFService和ClientASMXservice在StandAlone环境中正常运行。 现在,我使用相同的代理类BaseWCFServiceProxy.cs创建了一个Consumer Console应用程序,以使用BaseWcfService类访问ClientWCFService和ClientASMXservice。

根据 OOP规则,BaseWcfService类是ClientWCFService和ClientASMXservice的基类,我可以使用Base服务类构造函数访问这些服务。

服务电话如下: 对于ClientWCFService

 ModelWcfServiceContractClient _client = new ModelWcfServiceContractClient("IModelWcfServiceContract","http://localhost:64242/ClientWCFServiceWcfUsingSVCProxy.svc");

for ClientASMXservice

ModelWcfServiceContractClient _client = new ModelWcfServiceContractClient("IModelWcfServiceContract","http://localhost:64396/ClientASMXServiceWcfUsingSVCProxy.asmx");

Consumer Console应用程序正在构建正常,但在初始化ModelWCFServiceContractClient对象时运行时, 它将 InvalidOperation Exception 抛出为:

  

找不到名称为“IModelWcfServiceContract”的端点元素   并在ServiceModel客户端中签订“IModelWcfServiceContract”   配置部分。这可能是因为没有配置文件   找到您的应用程序,或者因为没有端点元素匹配   这个名字可以在客户端元素中找到。

我尝试为每种类型的服务使用不同的端点来解决此问题,但无法取得成功。

更快的回应将得到赞赏。另外请不要只是清除拼写错误来帮助我,因为它会浪费我的时间来阅读由于清除拼写错误而产生的警报。时间对我来说至关重要..

由于

1 个答案:

答案 0 :(得分:2)

试试这个(希望你可以关注):

在Visual Studio中,选择包含ModelWcfProxy(生成ModelWcfServiceContractClient代理类的那个)的ServiceReference的项目。

从Solution Explorer菜单栏中选择“显示所有文件”。

展开“服务引用”文件夹和生成的“服务引用”。找到.svcmap文件,在下面查找Reference.cs文件。

在生成的界面的顶部,应该定义System.ServiceModel.ServiceContractAttribute。在属性构造函数中,您应该看到正在设置ConfigurationName属性。此合同配置名称应与config中定义的名称或您要发送到方法的名称匹配:

ModelWcfServiceContractClient _client = new ModelWcfServiceContractClient("IModelWcfServiceContract","http://localhost:64242/ClientWCFServiceWcfUsingSVCProxy.svc");

希望这有帮助。