Odata压缩 - 是否有任何支持? (WinRT的WCF数据服务5.0)

时间:2012-11-14 18:18:18

标签: wcf windows-8 windows-runtime wcf-data-services odata

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

我一直在尝试压缩来自我服务线的OData,并遇到很多围绕支持的问题。

  • 不支持二进制序列化。

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

  • json lite尚未发布

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

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

我想实现OData以利用比标准WCF Web服务更高的性能和效率 - 但是无法通过线路压缩流,我没有得到任何。

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

1 个答案:

答案 0 :(得分: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已经发布了。这有更好的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