gpt4 book ai didi

c# - iOS 和 .NET WebAPI 之间的数据压缩

转载 作者:可可西里 更新时间:2023-11-01 05:43:58 24 4
gpt4 key购买 nike

iOS App.NET WebApi 需要同步大量数据或记录。

我们需要在 iOS 和 .NET WebApi 上进行内存压缩,这将压缩解压缩数据,然后进一步处理。

在 iOS 应用端,我们计划使用类似下面的东西在内存中使用 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 应用程序接收数据时将遵循相同的逆过程。

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

解决方案:感谢@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 字符串,然后在发送到设备之前需要压缩该字符串

是的,可以通过两种方式实现。

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

请按照this的回答两个选项的线程。

我尝试了第二种方式(使用引用线程答案中给出的代码)并且它对我非常有效。

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

是的,我们可以解压缩 gZip 压缩后的数据。[这篇博文] ( 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com