无法使用WCF数据服务获取JSONP工作

8

从我所阅读和观看的所有内容来看,从WCF数据服务中公开JSON应该很容易,只需将JSONPSupportBehavior属性添加到服务类即可。

问题在于VS2010无法识别JSONPSupportBehavior属性。

我是否缺少参考资料?从所有文章来看,它似乎是开箱即用支持的。


3个回答

9
WCF数据服务支持JSON格式,无需添加任何属性。客户端需要在请求头中的“accept”字段包含“application/json”,才能收到JSON格式的响应。在OData协议文档中有相关示例,这些示例展示了原始HTTP请求。不同的客户端HTTP API有不同的机制来指定请求头。通过添加JSONPSupportBehavior属性,客户端可以使用URL查询字符串选项(即$format=json)来进行内容类型协商,并且还可以支持“JSONP”(即$callback=[function-name])。当您无法控制头部时,例如通过脚本标记进行跨域访问时,这些选项非常有用。如果您想使用JSONPSupportBehavior,可以从此处获取:http://code.msdn.microsoft.com/DataServicesJSONP

是的,我已经访问了你提供的链接,但是错过了包含类文件的下载链接。谢谢。 - SevilNatas

2
新版本的WCF数据服务默认支持JSON,您必须具备相应的技术知识。
Accept: application/json;odata=verbose

在请求头中。
Accept: application/json

现在,这已经不够了。更多信息请点击这里


0

WCF不仅原生支持JSON,而且如果您使用WCF WebApi(预览版6),它还原生支持JSONP。在VS 2010中使用NuGet获取。安装完成后,在这里查看更多信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接