将存在一个iOS App.NET WebApi,它们需要同步大数据或记录。

我们需要在iOS和.NET WebApi上都具有“内存压缩”功能,它将数据compressdecompress进行进一步处理。

在iOS App方面,我们计划在内存中使用GZip压缩,如下所示:

http://www.clintharris.net/2009/how-to-gzip-data-in-memory-using-objective-c/

http://www.deusty.com/2007/07/gzip-compressiondecompression.html

在.Net WebApi方面,我们计划使用GZip压缩来开发-
https://msdn.microsoft.com/en-us/library/system.io.compression.gzipstream%28v=vs.110%29.aspx

现在我的问题是

是否可以在.Net中使用GZipStream类压缩JSON字符串?在.Net中,数据将从数据库中提取到模型中,然后将模型转换为JSON字符串,然后在发送到设备之前需要压缩该字符串,并且从iOS App接收数据时将遵循相同的逆过程。

除了上述计划之外,还有其他最佳方法吗?任何技术建议,相关链接或一些示例代码片段都将非常有帮助。

解决方案:
感谢@puneet领导这篇文章以获得正确的解决方案。

由于我的服务器应用程序是Asp.Net WebAPI,因此没有任何文件(html,css,js等)从服务器传输到任何传统网站的浏览器。 http://forums.asp.net/t/1771770.aspx

因此,在我的情况下,自动IIS压缩将不起作用,可以按照此处给出的步骤启用它-http://www.codeproject.com/Articles/186233/Utilize-gzip-compression-in-IIS

在我的情况下,需要处理GZip请求和响应,因此需要单独的处理程序,在这种情况下,我将在下面的SO帖子中关注这些内容-

压缩:Compress HTTP GET Response

减压:How do enable a .Net web-API to accept g-ziped posts

另一个可提及的链接-http://benfoster.io/blog/aspnet-web-api-compression

最佳答案

是否可以在.Net中使用GZipStream类压缩JSON字符串?在.Net中,数据将从数据库中提取到模型中,然后将模型转换为JSON字符串,然后在发送到设备之前需要压缩该字符串

是的,有两种可能。

  • 让IIS通过启用动态压缩来自行处理。
  • 编写您自己的代码以压缩响应

  • 对于这两个选项,请遵循this线程的答案。

    我尝试了第二种方法(使用引用的线程答案中给出的代码),它对我很好。

    从iOS应用接收数据时,将遵循相同的逆过程。

    是的,我们可以解压缩gZipped数据。
    [此博客文章](http://blog.kaliatech.com/2013/02/posting-compressed-json-content-to-asp-net-web-api-controller/)具有相同的代码。
    我还没有尝试过,但是看起来不错,应该可以。

    关于c# - iOS和.NET WebAPI之间的数据压缩,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28847518/

    10-14 16:34
    查看更多