GZIP comprime a solicitação para um serviço da Web remoto via WCF

Estou escrevendo um aplicativo usando o Visual Studio 2010 que precisa se comunicar com um serviço da Web remoto. Como a quantidade de dados enviados é potencialmente grande (até 100 MB), a documentação do serviço diz que a mensagem de solicitação deve ser enviada usando a compactação HTTP GZIP.

Minha pergunta é como fazer isso, já que estou apenas chamando um método no objeto proxy que o Visual Studio gerou e não executando o POST por conta própria? Em outras palavras, como não há uma "solicitação" em nenhum lugar no meu código para o GZIP, como posso dizer ao WCF para fazer isso por mim?

Eu me conectei ao serviço adicionando uma referência de serviço ao meu aplicativo usando o WSDL fornecido e, em seguida, invocando um método no proxy gerado pelo Visual Studio para enviar a solicitação. Uma exceção é lançada com a mensagem "A mensagem de solicitação deve ser enviada usando a compactação HTTP". (Isso não é inesperado, é claro.)

Existe um atributo nas configurações web.config que define o serviço WCF que fará com que o WCF faça o GZIP da solicitação antes de enviá-lo ao host remoto?

Observação: passei um tempo significativo pesquisando na web sobre isso, mas o problema é que a maioria das postagens supõe que seja o serviço da webresposta que precisa ser compactado. No meu caso, no entanto, é osolicitação que está sendo enviado do meu cliente.

questionAnswers(2)

yourAnswerToTheQuestion