.net - 无法让 JSONP 与 WCF 数据服务一起使用

标签 .net wcf jsonp wcf-data-services

从我阅读和观看的所有内容来看,从 WCF 数据服务公开 JSON 应该与添加 JSONPSupportBehavior 一样简单。属性到服务类。

问题是 VS2010 无法识别 JSONPSupportBehavior属性。

有没有我缺少的引用?从所有文章来看,它似乎都是开箱即用的。

最佳答案

WCF 数据服务支持 JSON 开箱即用,无需添加属性或任何东西。

为了接收 JSON 格式的响应,客户端使用标准的 HTTP 内容类型协商。

具体来说,他们需要包括 application/jsonaccept请求的头部。

OData protocol documentation的这部分有例子.

这些示例显示了原始 HTTP 请求。不同的客户端 HTTP API 有不同的机制来指定请求 header 。
JSONPSupportBehavior属性是一个扩展示例,除了内容类型协商外,它允许客户端使用 URL 查询字符串选项(即 $format=json ),并且还增加了对“JSONP”的支持(即 $callback=[function-name] )。

这些在您不控制 header 的情况下很有用,例如通过脚本标签进行跨域访问时。

如果您想使用 JSONPSupportBehavior你可以在这里获得它:

http://code.msdn.microsoft.com/DataServicesJSONP

关于.net - 无法让 JSONP 与 WCF 数据服务一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2983078/

相关文章:

c# - 自动检测文本中的标签

c# - 堆栈面板的水平滚动不起作用

c# - wcf 服务中的 SqlDependency 缓存不驱逐

jquery - WCF 4、JSONP 和 jQuery 导致解析器错误

支持 JSONP 的 ASP.NET 通用 HTTP 处理程序 (.ashx)

jquery - IE跨域jSONP到google apps脚本内容服务

.net - 为什么.NET框架中没有 "set"接口(interface)?

c# - C# 客户端中的 DataContract 和 KnowType 属性

javascript - 删除 "old"JSONP 脚本标签是一个好习惯吗?

c# - 在.Net core API应用程序中连接到azure数据工厂的有效方法