4

Windows Phone と iOS の両方のアプリを開発していますが、ASP.NET Web サービス (SOAP、私が開発したもの) を使用する必要があります。XML 固有の冗長性により、Web サービスを介してダウンロードするデータの量は比較的多くなります。IIS の ISAPI 圧縮モジュールを使用して、SOAP 呼び出しに対するサーバーの応答を圧縮したいと考えています。iOS では、うまく機能する wsdl2objc を使用しています。Accept-Encoding: gzip,deflateヘッダーは、iOS/wsdl2objc からの呼び出しに存在します。IIS は適切に応答を圧縮します。

Windows Phone では、自動生成された SOAP ラッパーを使用しており、Web サービスがサービス リファレンスとして追加されています。これも(機能的に)うまく機能します。アプリは正常に機能しますが、生成されたコードによって送信されるヘッダーはAccept-Encoding: identity. チューブを通じて、生成されたコードが gzip されたコンテンツをサポートする WebRequests を使用していると聞いたことがあります。

Accept-Encoding: gzip電話側でヘッダーを追加する方法、またはContent-Encoding: gzipサーバーから圧縮された応答を返す方法はありますか?

前もって感謝します!

注: ASP.NET WCF サービスではなく、ASP.NET Web サービスを使用しています。

4

2 に答える 2

0

WP7 の SOAP 実装に焼き付けられた基になる HTTP リクエスト マジックは、応答 (またはリクエスト) の GZIP/DEFLATE 圧縮をまったくサポートしていないことがわかりました。クラスを使用してそれを行う独自のSOAPクラスジェネレーターソリューションを展開WebRequestすることになります。

于 2012-11-20T06:03:30.967 に答える
-1

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

GZipサポートを含むWebRequestとWebResponseがあります。彼らの最新のアップデートでは、どのWebRequestでも機能するように登録できると書かれていますが、私はその部分を自分で試していません。したがって、コードが内部で標準のWebリクエストを使用している場合は、問題がないはずです。

于 2012-11-15T22:43:42.497 に答える