【问题标题】:Could not find default endpoint element that references contract error找不到引用合同错误的默认端点元素
【发布时间】:2013-05-13 04:15:08
【问题描述】:

有什么想法吗?

我知道这是因为我检查了很多链接/网站,例如这个 SO 问题: Could not find default endpoint element

问题是我已将 system.serviceModel 复制到主 App.Config 文件,甚至为所有解决方案中的相应项目......我仍然收到错误。

我正在使用构造函数:

RegistrationService = new BnRegistrationService.RegistrationServiceClient();  

甚至尝试将端点名称也向下传递,但无济于事。

我的 system.serviceModel 部分如下所示:

    <system.serviceModel>
    <bindings>
        <basicHttpBinding>
            <binding name="BasicHttpBinding_ISecurityService" />
            <binding name="BasicHttpBinding_IBidService" />
            <binding name="BasicHttpBinding_IConfigurationService" />
            <binding name="BasicHttpBinding_IRegistrationService" />
        </basicHttpBinding>
    </bindings>

  <client>
    <endpoint address="http://localhost:5166/SecurityService.svc"
      binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ISecurityService"
      contract="BnSecurityService.ISecurityService" name="BasicHttpBinding_ISecurityService" />
    <endpoint address="http://localhost:5166/BidService.svc" binding="basicHttpBinding"
      bindingConfiguration="BasicHttpBinding_IBidService" contract="BnBidService.IBidService"
      name="BasicHttpBinding_IBidService" />
    <endpoint address="http://localhost:5166/ConfigurationService.svc"
      binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IConfigurationService"
      contract="BnConfigurationService.IConfigurationService" name="BasicHttpBinding_IConfigurationService" />
    <endpoint address="http://localhost:5166/RegistrationService.svc"
      binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IRegistrationService"
      contract="BnRegistrationService.IRegistrationService" name="BasicHttpBinding_IRegistrationService" />
  </client>
</system.serviceModel>

这个错误让我快哭了,我在很多网站上都看到了错误消息 - 所有人都说将上述内容复制到 windows 项目中的 MAIN app.config 文件中,但对于某些(可能是 STUPID - 代表我)因为它只是不工作。

我在 BaseForm 中初始化所有这些,所有其他表单都继承了它,导致可怕的 Designer Error Screen 显示错误:

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

有什么想法吗?

非常感谢您!

【问题讨论】:

  • 您是否尝试在客户端应用程序中更新服务参考。还要确保RegistrationService 实现了IRegistrationService 并具有&lt;httpGetEnabled= "true" /&gt; 的元数据。您是否获得了此 RegistrationService 的 WSDL
  • 是的,我已经更新了它们并且 gttpGetEnabled 是真的。应用程序运行并显示 BASE FORM,但任何继承 BASE FORM 的表单都会引发设计器错误。我完全不知所措?? :\
  • 如果我从 MAIN 项目中排除 App.Config,应用程序本身会引发此异常。如果我再次包含它,应用程序运行良好 - 但设计器抛出此异常,我无法修改 WinForm。

标签: wcf app-config .net-4.5


【解决方案1】:

对!固定的!不是我理想的解决方案,但我从所有其他表单中删除了 BASEFORM 继承,并根据它们的默认值扩展了 FORM,瞧!错误消失了。 BaseForm 与其他文件在同一个项目中,因此我看不到与 &lt;system.serviceModel&gt; 部分在错误文件中的错误 .config 文件中有关的问题。出于某种原因,您可以在运行时实例化 WCF 服务,但是如果在 BaseForm 中,这在设计时会失败。

【讨论】:

    猜你喜欢
    • 2013-01-23
    • 2013-06-27
    • 2023-03-12
    • 2010-11-28
    • 2014-09-14
    • 2011-10-20
    相关资源
    最近更新 更多