UseRequestHeadersForMetadataAddressBehavior

by Israel Aece 18. January 2010 21:03

Há algum tempo, eu comentei aqui sobre um problema que é comum no WCF, quando publicamos um serviço no IIS, que o endereço público (do domínio) não aparece, mantendo o nome da máquina como endereço para o serviço.

A partir da versão 4.0 do WCF, a Microsoft adicionou um novo behavior de serviço chamado UseRequestHeadersForMetadataAddressBehavior. Ao utilizá-lo, o WCF irá automaticamente gerar os endereços (do documento WSDL e das URIs do seu interior) baseando-se no header da requisição. Abaixo vemos como podemos proceder para habilitar esse recurso, e em seguida, as imagens com o antes e depois desta funcionalidade configurada.

<system.serviceModel>
  <behaviors>
    <serviceBehaviors>
      <behavior>
        <useRequestHeadersForMetadataAddress />
      </behavior>
    </serviceBehaviors>
  </behaviors>
</system.serviceModel>

Além da configuração declarativa como vemos acima, podemos optar também pela forma imperativa. E ainda, este behavior também está disponível para o WCF 3.5 + SP1, a partir deste endereço.

Tags: ,

WCF

Comments

1/20/2010 6:28:27 AM #

Cesar

Infelizmente não há versão para o Windows 7 ainda, tentei rodar essa do Vista mesmo, mas diz que não é aplicável ao meu computador. O jeito é esperar.

Cesar Brazil

1/20/2010 6:33:37 AM #

IsraelAece

Boas Cesar,

Baixou o Hotfix do endereço que coloquei?

Nativamente ele virá com o WCF 4.0, mas se você tiver o .NET 3.5 + SP1, então pode só instalar o Hotfix.

IsraelAece Brazil

1/21/2010 6:51:10 AM #

Cesar

Olá, sim, tentei instalar mas ele disse que a atualização não é aplicável ao meu sistema infelizmente... porém achei uma solução temporária, mexi no "hosts" e vinculei o nome da maquina ao seu IP e deu certo, enquanto que não sai uma atualização WFC 3.5 WinSeven ou o WCF 4, esta foi a solução que encontrei.

Cesar Brazil

Add comment




  Country flag

biuquote Click to change captcha

  • Comment
  • Preview
Loading



Powered by BlogEngine.NET 1.5.0.0
Theme by Mads Kristensen

Sobre

Meu nome é Israel Aece e sou especialista em tecnologias de desenvolvimento Microsoft, atuando como desenvolvedor de aplicações para o mercado financeiro utilizando a plataforma .NET. [ Mais ]

Twitter

Host