0

我在 Sharepoint 2010 Web 应用程序中托管了这个 WCF 服务。WCF 是使用以下工厂创建的:

Factory="Microsoft.SharePoint.Client.Services.MultipleBaseAddressWebServiceHostFactory, Microsoft.SharePoint.Client.ServerRuntime, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"

如您所见,这是创建一个 REST 类型的服务。因为我们需要通过 jQuery 在客户端使用它。

现在我们还需要从 .NET 项目 (WinForms) 中访问它。我尝试在 VS 中添加服务引用,但没有找到任何东西。我想那是因为它不是 SOAP 服务,对吧?

那么如何在不破坏现有 jQuery 支持的情况下在 C# .NET 项目中使用它呢?

4

1 回答 1

1

是的,添加服务引用不适用于 WCF REST 服务。你有几个选择:

  1. 向您的服务添加另一个端点,一个基于 SOAP 的端点,以便您能够在客户端上使用 Add Service Reference。我不确切知道它的MultipleBaseAddressWebServiceHostFactory作用,但您可以查看它如何创建其端点并在另一个工厂中重新创建它 - 然后添加额外的 SOAP 端点
  2. 另一种选择是在服务实现和 .NET 客户端之间共享接口定义(服务合同加上任何现有的数据合同)。拥有该接口后,您可以使用WebChannelFactory<T>来创建 REST 服务的代理(就像您为 SOAP 服务创建的代理一样)。
于 2012-12-06T23:47:24.383 回答