我正在为 Windows Phone 和 iOS 开发一个应用程序,它需要使用 ASP.NET Web 服务(SOAP,由我开发)。由于 XML 固有的冗长性,我通过 Web 服务下载的数据量相对较大。我想使用 IIS 的 ISAPI 压缩模块来压缩服务器对 SOAP 调用的响应。在 iOS 上,我使用 wsdl2objc,效果很好。 Accept-Encoding: gzip,deflate
header 出现在来自 iOS/wsdl2objc 的调用中。 IIS 正确地压缩了响应,效果非常好。
在 Windows Phone 上,我使用自动生成的 SOAP 包装器,并将 Web 服务添加为服务引用。这(功能上)也很好用。应用程序正常运行,但生成的代码发送的 header 为 Accept-Encoding: Identity
。我通过管道听说生成的代码使用 WebRequests,它支持 gzip 内容。
是否有一种可接受的方法可以在手机端添加 Accept-Encoding: gzip
header ,或从服务器返回压缩的 Content-Encoding: gzip
响应?
提前致谢!
注意:我使用的是 ASP.NET Web 服务,而不是 ASP.NET WCF 服务。
最佳答案
事实证明,WP7 的 SOAP 实现中的底层 HTTP 请求魔法对响应(或请求)的 GZIP/DEFLATE 压缩的支持恰好为 0。我最终将推出自己的 SOAP 类生成器解决方案,该解决方案使用 WebRequest
类来完成此任务。
关于asp.net - Windows Phone ASP.NET Web 服务压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13043753/