私はIIS7.5でホストされている.NET 3.5 Webサービスを持っています。WCF WebServiceでのGZip圧縮
私はこのWebサービスに接続するクライアントアプリケーションを持っています。
要求が正しく送信されて、答えは(GZIPでエンコードされた私は、(クライアントアプリケーション内)でGZipためautomaticDecompressionを追加するhttpWebRequest.Create方法を変更したが、それはこのように
WebRequest IWebRequestCreate.Create(Uri uri)
{
HttpWebRequest httpWebRequest =
Activator.CreateInstance(
typeof(HttpWebRequest),
BindingFlags.CreateInstance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance,
null,
new object[] { uri, null },
null) as HttpWebRequest;
if (httpWebRequest == null)
return null;
httpWebRequest.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
httpWebRequest.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
return httpWebRequest;
}
が動作していません私は)フィドラーからそれを見るが、例外が発生します。
Response is not wellformed XML
(私はクライアントが答えを復号しないと思います)
私はこの行を削除する場合は、のようにMSDNのドキュメント
httpWebRequest.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
答えは、GZIPエンコードされません(とリクエストにACCEPT-ENCODINGをヘッダにはあります)あなたは、両方のコントロールしている場合
IISはホストされているサービスに圧縮サポートを追加する可能性があります。カスタムコーディングを通じてGZip圧縮を実装する方法はありません。 –
Yeh .. ok ..そしてWCF WebサービスでGZip圧縮を使用するにはどうすればいいですか?私は多くのテキストデータを転送しなければならないので。 – AndreaCi
私は約2〜3年前にこの痛みを伴うプロセスを行った。私が見つけた解決策を見出そうとしていたが、これまでのところ運がなかった。その間に+1。 – leppie