Вопрос

Мы размещали сервисы WCF с помощью Базовыйhttpbinding на стороне сервера,

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

Службы WCF размещены в Windows xp с пакетом обновления 3, IIS 5.1 с включенным анонимным доступом.
Если я хочу получить доступ к службам WCF в настольном приложении .net 2.0.
Какую конфигурацию мне нужно выполнить с помощью примера кода?

Спасибо
nrk

Это было полезно?

Решение

Если вы не можете установить .NET 3.0 (который является первым .NET, содержащим биты WCF), все, что вы можете сделать, это добавить ссылку на эту службу как веб-службу ASMX.

В Visual Studio перейдите к своему проекту, щелкните правой кнопкой мыши и выберите "Добавить веб-ссылку" и введите URL-адрес.

Другого способа сделать это нет (только с помощью .NET 2.0).

Если вы может обновитесь до .NET 3.0, тогда в вашем клиентском app.config будет точно такой же раздел внутри:

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

но вы не показали нам более интересную часть конфигурационного файла вашего сервера - <services> раздел, определяющий конечные точки, которые может предложить ваш сервис.

На клиенте у вас будет минимум:

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

Этого должно хватить.

Другие советы

Предполагая, что вы можете установить .NET 3.0 (согласно обсуждению, связанному с вашим вопросом), вы также можете использовать WCF на стороне клиента, и вам нужно будет использовать ту же конфигурацию привязки, что и та, которую вы опубликовали.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top