我正在尝试制作一个可以与 JSON-P 一起使用的 WCF 服务(长话短说,我们必须跨域调用网络服务并接收回调,所以我需要它与JSON-P)。
我在 MSDN ( http://msdn.microsoft.com/en-us/library/cc716898.aspx ) 上找到了一个代码示例。如果我提取 ZIP 文件并导航到 Samples\WCFWFCardSpace\WCF\Extensibility\Ajax\JSONP\CS,我会得到一个项目,其中创建了某些绑定(bind)和扩展,这将使 WCF 能够调用返回 JSON 后的 JS 函数。
不幸的是,当我尝试复制这段代码并在我的项目中实现它时,它不起作用。
我收到以下错误:
无法找到配置绑定(bind)扩展 'system.serviceModel/bindings/jsonpBinding'。验证此绑定(bind)扩展已在 system.serviceModel/extensions/bindingExtensions 中正确注册并且拼写正确。
就好像 Microsoft 的开发人员遗漏了一些重要的代码片段,而这些代码片段是它工作所必需的,我不确定他们遗漏了什么或者它的目的是什么。
有没有人有使用 WCF 和 JSON-P 的经验?
如果有办法让这个示例项目正常运行,我会全力以赴。
如果有其他方法可以执行从 Javascript 到 WCF 的跨域 Web 服务调用,我也很感兴趣。
最佳答案
你能在你的问题中包含你的 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>
关于.net - 带有 WCF 的 JSON-P 示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/555529/