从我看来,从WCF数据服务公开JSON应该就像将JSONPSupportBehavior
属性添加到服务类一样简单。无法让JSONP与WCF数据服务一起工作
问题是,VS2010不能识别JSONPSupportBehavior
属性。
有没有我缺少的参考?从所有文章看来,它是开箱即用的支持。
从我看来,从WCF数据服务公开JSON应该就像将JSONPSupportBehavior
属性添加到服务类一样简单。无法让JSONP与WCF数据服务一起工作
问题是,VS2010不能识别JSONPSupportBehavior
属性。
有没有我缺少的参考?从所有文章看来,它是开箱即用的支持。
WCF数据服务支持JSON开箱即用,无需添加属性或任何东西。
为了以JSON格式接收响应,客户端使用标准的HTTP内容类型协商。
具体而言,他们需要在请求的accept
标头中包含application/json
。
在本节中有OData protocol documentation的例子。
这些示例显示原始HTTP请求。不同的客户端HTTP API具有不同的机制来指定请求标头。
的JSONPSupportBehavior
属性是除了内容类型协商的扩展,它允许客户使用URL的查询字符串选项(即$format=json
)的示例,并且还增加了对“JSONP”(即$callback=[function-name]
)的支持。
这些在您不控制标题的情况下非常有用,例如在通过脚本标记进行跨域访问时。
如果你想使用JSONPSupportBehavior
你可以在这里获得它:
YE,我去过你提供的链接,但错过了其中有类文件的下载链接。谢谢 – SevilNatas 2010-06-13 10:40:08
WCF不仅suppors JSON出的现成的,但它也支持JSONP外的the-如果你使用WCF WebApi(预览6)。使用NuGet进入VS 2010。安装后,请查看here了解更多信息。默认情况下
较新版本的WCF数据服务支持JSON的,你必须有
Accept: application/json;odata=verbose
在请求头
。
Accept: application/json
已经不够用了。更多信息here。
下载代码[here](http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=DataServicesJSONP&DownloadId=11208)。这一个实际上工作! – 2011-05-17 10:36:51
我不认为它是默认包含的。有关示例代码,请参见此[链接](http://code.google.com/p/dotnet-visualization-datasource/source/browse/trunk/Web+Services/WCFDataService/JSONPSupportBehavior.cs?spec=svn84&r=84) 。 – mdm20 2010-06-08 19:52:32