上下文:目前在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服务更高的性能和效率 - 但是无法通过线路压缩流,我没有得到任何。
有没有人有这方面的经验,或者如何处理的建议?
答案 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