JSON-P 与 WCF 的示例?
Posted
技术标签:
【中文标题】JSON-P 与 WCF 的示例?【英文标题】:Example of JSON-P with WCF? 【发布时间】:2010-10-08 00:26:46 【问题描述】:我正在尝试创建一个可与 JSON-P 一起使用的 WCF 服务(长话短说,我们必须跨域调用 Web 服务并接收回调,因此我需要它与JSON-P)。
我在 MSDN (http://msdn.microsoft.com/en-us/library/cc716898.aspx) 上找到了一个代码示例。如果我提取 ZIP 文件并导航到 Samples\WCFWFCardSpace\WCF\Extensibility\Ajax\JSONP\CS,我会得到一个项目,其中创建了某些绑定和扩展,这将使 WCF 能够发出对返回 JSON 后的 JS 函数。
不幸的是,当我尝试复制此代码并在我的项目中实现它时,它不起作用。
我收到以下错误:
找不到配置绑定扩展“system.serviceModel/bindings/jsonpBinding”。验证此绑定扩展已在 system.serviceModel/extensions/bindingExtensions 中正确注册,并且拼写正确。
好像微软的开发人员遗漏了一些重要的代码,而我不确定他们遗漏了什么或它的目的。
有没有人有使用 WCF 和 JSON-P 的经验?
如果有办法让这个示例项目正常运行,我会全力以赴。
如果有另一种方法可以从 javascript 到 WCF 进行跨域 Web 服务调用,我也很感兴趣。
【问题讨论】:
是的,这基本上是我在回答你的另一个问题时所建议的,尽管这个问题有更多的 Windows 和 WCF 主义,我不知道如何在这里回答。安装 Firebug 看看发生了什么... 【参考方案1】:您能否在问题中包含您的 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>
【讨论】:
不错的答案,刚刚解决了我的问题++以上是关于JSON-P 与 WCF 的示例?的主要内容,如果未能解决你的问题,请参考以下文章