Binary Encoding no Silverlight 3.0


Até a versão 2.0 do Silverlight, o binding BasicHttpBinding apenas codificava a mensagem em formato texto, enviando-a através de HTTP. Como já sabemos, esse binding com esta codificação pode ser facilmente interoperável com serviços baseados no protocolo SOAP 1.1, como é o caso dos ASP.NET Web Services (ASMX). Esse tipo de codificação também pode ser facilmente interceptado por qualquer ferramenta de monitoramento de requisições HTTP, como é o caso do Fiddler.

Uma inovação que está presente a partir da versão 3.0 do Silverlight, é o suporte a codificação binária do envelope SOAP que é transmitido entre o serviço e o cliente, e vice-versa. Apesar de, em alguns casos, diminuir o tamanho da mensagem trafegada, a grande finalidade deste tipo de codificação é ter uma velocidade maior entre a transferência das informações. Com esse benefício, esse tipo de codificação passa a ser o padrão quando criar um projeto baseando-se na template Silverlight-enabled WCF Service.

Para que isso funcione, temos um novo binding element chamado BinaryMessageEncodingBindingElement. Com a criação de um binding customizado, já podemos fazer a utilização do mesmo e, consequentemente, de seus benefícios. O código abaixo ilustra a sua utilização, configurando o binding através do arquivo de configuração:

<bindings>
   <customBinding>
      <binding name=”binaryHttpBinding”>
         <binaryMessageEncoding />
         <httpTransport />
      </binding>
   </customBinding>
</bindings>

Apenas fique atento para utilizar o mesmo codificador dos dois lados. Caso isso não aconteça, não será possível fazer a comunicação. Para finalizar, é importante dizer que ao utilizar esse codificador, não iremos mais conseguir monitorar as requisições e analisar o seu conteúdo. Enquanto estiver em ambiente de desenvolvimento, talvez seja melhor manter a codificação baseada em formato texto, para conseguir depurar facilmente eventuais problemas que venham a acontecer.

Anúncios

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s