【问题标题】:creating the wcf service client causes a InvalidOperationException创建 wcf 服务客户端会导致 InvalidOperationException
【发布时间】:2015-05-26 09:40:16
【问题描述】:

我有两个解决方案:

在解决方案 1 中,我有一个带有 wcf 服务引用的 Web 项目。 在解决方案 2 中,我有一个 wpf 项目,我在其中启动以下 wcf 客户端:

当我创建我的 wcf 客户端实例时:

using (var client = new LSKTicketServiceReference.LSKTicketServiceClient())
{
   // client.do()
}

我收到此错误:

“找不到引用合约‘LSKTicketServiceReference.ILSKTicketService’的默认端点元素...”

但是在 wpf 项目使用的外观项目的 app.config 中,我定义了这个端点:

 <system.serviceModel>
    <bindings>
      <basicHttpBinding>      
        <binding name="BasicHttpBinding_ILSKTicketService" />
      </basicHttpBinding>
    </bindings>
    <client>

      <endpoint address="http://localhost:53776/LSKTicketService.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ILSKTicketService" contract="ILSKTicketService" name="BasicHttpBinding_ILSKTicketService" />
    </client>
  </system.serviceModel>

那么这里的问题是什么?我定义了我的端点。

【问题讨论】:

  • 您是否尝试在 wpf 项目的 web config 中添加此服务配置?
  • 在解决方案 1 web.config 中没有任何与 wcf 相关的内容,因为我们还有其他服务并且它们可以工作。我只是试图让这个像其他人一样工作......但我刚刚发现,wpf 项目 app.config 需要一个缺少的端点......我稍后再试。
  • wpf 的 app.config 中缺少端点并没有解决问题,我仍然收到该错误。
  • 您可能正在寻找其他一些配置。在您的配置中添加一些密钥并在using (var client = new LSKTicketServiceReference.LSKTicketServiceClient()) 之前阅读它,以确保您正在查看正确的配置。
  • 好的,我发现了问题,正如我所说,我将端点放在另一个配置文件中,但合同字符串不正确......不,我得到一个反序列化程序异常,因为某个对象缺少枚举成员属性,但是当我删除它时,我到达服务器端 hooorayyy

标签: wcf wcf-endpoint wcfserviceclient


【解决方案1】:

问题不在于 LSKTicketServiceClient 的创建是在 Facade 项目中创建的。

但是 WPF 应用程序项目引用了 Facade 项目,这是 app.config 中缺少的端点配置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-15
    • 2010-11-29
    • 2012-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多