带WCF的JSON-P示例?

时间:2009-02-17 04:30:19

标签: .net wcf json cross-domain jsonp

我正在尝试制作一个可以使用JSON-P的WCF服务(长话短说,我们必须调用网络服务跨域并接收回叫,所以我需要它来处理JSON-P)。

我在MSDN(http://msdn.microsoft.com/en-us/library/cc716898.aspx)上找到了代码示例。如果我提取ZIP文件并导航到Samples \ WCFWFCardSpace \ WCF \ Extensibility \ Ajax \ JSONP \ CS,我会得到一个项目,其中已经创建了某些绑定和扩展,这将使WCF能够吐出一个调用a返回JSON后的JS函数。

不幸的是,当我尝试复制此代码并在我的项目中实现它时,它不起作用。

我收到以下错误:

找不到配置绑定扩展'system.serviceModel / bindings / jsonpBinding'。验证此绑定扩展是否已在system.serviceModel / extensions / bindingExtensions中正确注册,并且拼写正确。

就好像微软的开发人员遗漏了一些必要的代码才能实现这一点,而且我不确定他们遗漏了什么或者它的意图。

有没有人有使用WCF和JSON-P的经验?

如果有办法让这个示例项目有效,我会全力以赴。

如果有另一种方法可以从Javascript到WCF进行跨域Web服务调用,我也很感兴趣。

1 个答案:

答案 0 :(得分:2)

您可以在问题中包含您的web.config文件吗?

您收到的消息是由于您的web.config中存在不存在或无效的扩展元素。

验证以下

<system.serviceModel>
  <!-- client, behavior, and bindings -->   
  <extensions>
    <bindingElementExtensions>
      <add name="jsonpMessageEncoding"
           type="Namespace, Assembly, Version=X.X.X.X, Culture=neutral, PublicKeyToken=null"/>
    </bindingElementExtensions>
  </extensions>    
</system.serviceModel>