我正在为Windows Phone和iOS开发一个应用程序,它需要使用ASP.NET Web服务(SOAP,由我开发)。由于XML固有的冗长性,我通过Web服务下载的数据量相对较大。我想使用IIS的ISAPI压缩模块来压缩服务器对我的SOAP调用的响应。在iOS上,我正在使用wsdl2objc,这非常棒。来自iOS/wsdl2objc的呼叫存在Accept-Encoding: gzip,deflate
标头。 IIS正确地压缩响应,这可以起到保护作用。Windows Phone ASP.NET Web服务压缩
在Windows Phone上,我使用自动生成的SOAP包装器,并将Web服务作为服务引用添加。这也(功能上)工作得很好。该应用程序功能正常,但生成的代码发送的标头为Accept-Encoding: identity
。我听说过,生成的代码使用WebRequests,它支持gzip的内容。
是否有一种可接受的方式在电话端添加Accept-Encoding: gzip
标头,或从服务器返回压缩的Content-Encoding: gzip
响应?
在此先感谢!
注意:我正在使用ASP.NET Web服务,而不是ASP.NET WCF服务。
这不是我想解决的问题。 WebRequest类可以与GZIP一起正常工作。生成的代码根本不使用WebRequest。它使用了一些在运行时烘焙的解决方案。 –