Windows Phone ASP.NET Web服务压缩

时间:2012-10-24 06:03:27

标签: asp.net windows-phone-7 soap

我正在为Windows Phone和iOS开发应用程序,它需要使用ASP.NET Web服务(SOAP,开发了我)。由于XML固有的冗长,我通过Web服务下载的数据量相对较大。我想使用IIS的ISAPI压缩模块压缩服务器对SOAP调用的响应。在iOS上,我使用的是wsdl2objc,效果很好。来自iOS / wsdl2objc的调用中存在Accept-Encoding: gzip,deflate标头。 IIS正确地压缩了响应,这很有效。

在Windows Phone上,我使用自动生成的SOAP包装器,并将Web服务添加为服务引用。这也(功能上)工作得很好。该应用程序正常运行,但生成的代码发送的标头为Accept-Encoding: identity。我已经听说生成的代码使用WebRequests,它支持gzip内容。

是否有可接受的方法在手机端添加Accept-Encoding: gzip标头,或从服务器返回压缩的Content-Encoding: gzip响应?

提前致谢!

注意:我使用的是ASP.NET Web服务,而不是ASP.NET WCF服务。

2 个答案:

答案 0 :(得分:0)

结果发现,WP7的SOAP实现中的基础HTTP请求魔法完全支持GZIP / DEFLATE压缩响应(或请求,就此而言)。我将最终编写自己的SOAP类生成器解决方案,该解决方案使用WebRequest类来完成它。

答案 1 :(得分:-1)

http://www.sharpgis.net/post/2011/08/28/GZIP-Compressed-Web-Requests-in-WP7-Take-2.aspx

具有包含GZip支持的WebRequest和WebResponse。他们的最新更新说你可以注册它以使用任何WebRequest,但我自己没有尝试过这部分。因此,如果代码确实使用了标准Web请求,那么您应该很高兴。