asp.net - Windows Phone ASP.NET Web 服务压缩

标签 asp.net windows-phone-7 soap

我正在为 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/

相关文章:

java - Java 客户端 SOAP 请求中的 WSS header

c# - 从 GLOBAL.ASAX 访问 TempData

c# - 是否有全局设置防止 sql 注入(inject)和 XSS? (ASP.NET)

android - 跨平台移动API,适用于可在所有市场上列出的应用程序

c# - XAML 中的数据绑定(bind)资源文件

windows-phone-7 - 如何发现当前在 Windows Phone 7 上运行的应用程序?

javascript - 如何在 javascript 中发送 SOAP 请求,就像在 SoapUI 中一样

asp.net - 获取有效的日期时间,例如月/日/年格式

c# - 在页面加载时以不同的顺序显示 html 链接

node.js - 如何使用soap和nodejs向chronopost发出运输请求