5

上下文:当前使用带有 Odata 的 WCF 数据服务 5.0 用于 Windows 8 应用商店应用程序。

今天一直在尝试压缩从我的服务通过网络传输的 OData,并遇到了很多围绕支持的问题。

  • 不支持二进制序列化。

  • 不支持 json(Content-Type 标头中当前不支持库抛出“application/json”)

  • json lite 尚未发布

  • 在 http 响应中添加 gzip 请求有效(服务器返回压缩) - 但客户端库似乎不想反序列化它。(xml解析异常)

我今天的最后一次尝试是尝试获取 http 响应,并自己手动反序列化流(GZipStream 不可用,但我知道有第 3 方替代方案) - 但我找不到任何Microsoft.Data。将向我公开流的Services.Client.WindowsStore事件/覆盖。

我想实施 OData 以利用标准 WCF Web 服务的性能和效率提升 - 但无法通过线路压缩流,我什么也得不到。

有没有人有这方面的经验,或如何处理的建议?

4

1 回答 1

1

您是否按照此处相同的步骤获取 json 响应。客户端必须发送 MaxDataServiceVersion 标头:http: //blogs.msdn.com/b/astoriateam/archive/2012/04/11/what-happened-to-application- json-in-wcf-ds-5-0.aspx

我还检查了 Odata 5.1.0 是否已在 nuget 上发布。这有更好的 json 支持: https ://nuget.org/packages/Microsoft.Data.Services/5.1.0

您的另一个选择是使用 asp.net web api 并尝试 odata 支持: http ://www.nuget.org/packages/Microsoft.AspNet.WebApi.OData

于 2012-11-16T21:15:06.427 回答