WCF 4.5 は、サード パーティのライブラリや手書きの拡張機能を使用せずに GZIP をサポートします。TCP Binding 経由で動作するようになりましたが、HTTP Binding 経由で動作させる方法が見つかりません。my wcf - サービスは、Windows サービスで自己ホストされています。
アドオン: IIS の使用は許可されていません。WCF の代替品に切り替えることはできません。
これは gzip で動作します:
binding="customBinding" bindingConfiguration="tcpCompressionBinding" name="tcp"
これは私が現在httpに使用しているものです:
binding="basicHttpBinding" bindingConfiguration="httpBinding" name="http"
ドキュメントはあまり役に立ちません: http://msdn.microsoft.com/en-us/library/dd456789.aspx。
しかし、これによれば、それはうまくいくはずです:
WCF 4.5 以降では、WCF バイナリ エンコーダーに圧縮のサポートが追加されています。圧縮のタイプは、CompressionFormat プロパティで構成されます。クライアントとサービスの両方が CompressionFormat プロパティを構成する必要があります。圧縮は、HTTP、HTTPS、および TCP プロトコルで機能します。クライアントが圧縮の使用を指定したが、サービスがそれをサポートしていない場合、プロトコルの不一致を示すプロトコル例外がスローされます。詳細については、メッセージ エンコーダーの選択を参照してください。