これは私にとって大きな問題です。以前は、Web サービス クライアントは EnableDecompression = true を使用するだけで問題ありませんでしたが、なぜ Microsoft は WCF に似たものを追加しなかったのでしょうか?
WCF サービスからの gzip 圧縮された応答が本当に必要です (そして、それらは http... である必要があります。いつものように、従来の問題です...)。
これは私にとって大きな問題です。以前は、Web サービス クライアントは EnableDecompression = true を使用するだけで問題ありませんでしたが、なぜ Microsoft は WCF に似たものを追加しなかったのでしょうか?
WCF サービスからの gzip 圧縮された応答が本当に必要です (そして、それらは http... である必要があります。いつものように、従来の問題です...)。
基本的に提案することになるこのブログ投稿をチェックしてください:
結論
AcceptEncodingヘッダーを設定しないクライアントもサポートする必要があるため、これを捨てました。そのため、リクエストでhttpヘッダーを読み取り、「コンテキスト」値を設定してレスポンスを圧縮する(圧縮しない)必要がありますが、見つかりませんでした複数の同時リクエストごとにそれを行う方法はまだありません。ここで説明されているように、WCF ハッキングでこれを実行しようとしないで、IIS http 圧縮を使用することを強くお勧めします。
Codeplex には、WCF 圧縮チャネルを備えた WCF Extensions プロジェクトもあります。おそらくそれが探しているものです。
binaryMessageEncoding
費用対効果が最も高いのは、textMessageEncoding (HTTP バインディングの既定値) の代わりに WCF でを使用することです。これには、カスタムの http ベースのバインディングを作成する必要があり、同じカスタム バインディング構成を使用している .NET クライアント以外の他の http ベースのクライアントとサービスが互換性を失うことになります。