Pergunta

Nós hospedamos serviços da WCF com BasichttpBinding no lado do servidor,

    <bindings>           
      <basicHttpBinding>        
        <binding name="BasicHttpEndpointBinding" >
          <security  mode="TransportCredentialOnly">
            <transport  clientCredentialType="basic" /> 
          </security>          
        </binding>        
      </basicHttpBinding>      
    </bindings>

Serviços WCF hospedados no Windows XP SP3, IIS 5.1 com acesso anônimo ativado.
Se eu quiser acessar os serviços WCF no aplicativo .NET 2.0 Desktop.
Que configuração eu preciso fazer, com código de amostra?

obrigado
nrk

Foi útil?

Solução

Se você não puder instalar o .NET 3.0 (que é o primeiro .NET a conter os bits WCF), tudo o que você pode fazer é adicionar uma referência a esse serviço como um serviço da Web ASMX.

No Visual Studio, vá ao seu projeto e clique com o botão direito do mouse e escolha "Adicionar referência na web" e digite o URL.

Não há outra maneira de fazer isso (com nada além de .NET 2.0).

Se você posso Atualize para .NET 3.0, então o seu cliente app.config terá exatamente a mesma seção dentro dele:

<bindings>           
      <basicHttpBinding>        
        <binding name="BasicHttpEndpointBinding" >
          <security  mode="TransportCredentialOnly">
            <transport  clientCredentialType="basic" /> 
          </security>          
        </binding>        
      </basicHttpBinding>      
    </bindings>

Mas você não nos mostrou a parte mais interessante do seu arquivo de configuração do servidor - o <services> Seção que define os pontos de extremidade que seu serviço tem a oferecer.

No cliente, você terá um mimimum:

<client>
  <endpoint name="whatever"
            address="http://yourServer:8080/YourService/"
            binding="basicHttpBinding"
            bindingConfiguration="BasicHttpEndpointBinding"
            contract="IYourServiceContract" />
</client>

Isso deve resolver.

Outras dicas

Supondo que você possa instalar o .NET 3.0 (conforme a discussão conectada à sua pergunta), você também pode usar o WCF no lado do cliente e precisará usar a mesma configuração vinculativa que a que você postou.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top