我正在尝试制作一个可以使用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服务调用,我也很感兴趣。
答案 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>