WCF 4 и NetTcpBinding - PullRequest
       1

WCF 4 и NetTcpBinding

1 голос
/ 26 января 2011

Я тестирую функции без конфигурации WCF 4.

Я создал простой сервис и развернул его в IIS.Служба развернута как svc-файл

Конфигурация клиента пуста:

<configuration>
    <system.serviceModel>
        <bindings />
        <client />
    </system.serviceModel>
</configuration>

Конфигурация на веб-сервере:

<system.web>
   <compilation debug="true" targetFramework="4.0" />  
</system.web>   
<system.serviceModel>
   <behaviors>
      <serviceBehaviors>
         <behavior>
            <serviceMetadata httpGetEnabled="true"/>
            <serviceDebug includeExceptionDetailInFaults="false"/>
         </behavior>
      </serviceBehaviors>
   </behaviors>
   <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
</system.serviceModel> 
<system.webServer>
   <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

Этот код работает нормально:

BasicHttpBinding myBinding = new BasicHttpBinding();
EndpointAddress myEndpoint = new EndpointAddress("http://localhost/Service1.svc");
ChannelFactory<IService1> myChannelFactory = new ChannelFactory<IService1>(myBinding, myEndpoint);
IService1 wcfClient1 = myChannelFactory.CreateChannel();
int z = wcfClient1.Multiply(composite);

Этот код не:

NetTcpBinding myBinding = new NetTcpBinding();
EndpointAddress myEndpoint = new EndpointAddress("net.tcp://localhost:808/Service1.svc");
ChannelFactory<IService1> myChannelFactory = new ChannelFactory<IService1>(myBinding, myEndpoint);
IService1 wcfClient1 = myChannelFactory.CreateChannel();
int z = wcfClient1.Multiply(composite);

Я получаю ошибку:

Не удалось подключиться к net.tcp: //локальный / Service1.svc.Попытка подключения продолжалась в течение промежутка времени 00: 00: 02.1041204.Код ошибки TCP 10061: не удалось установить соединение, потому что целевая машина активно отказала ему 127.0.0.1:808.

Привязка net.tcp установлена ​​на веб-сайте по умолчанию.

У меня есть ощущение, что я упускаю что-то простое.У кого-нибудь есть идеи?

Ответы [ 2 ]

6 голосов
/ 26 января 2011

У меня такое ощущение, что ваша служба общего доступа к портам Net.Tcp не включена.

4 голосов
/ 26 января 2011

Нашел проблему.Хотя net.tcp выглядел так, как будто он был установлен для веб-сайта по умолчанию, его необходимо активировать с помощью этой команды:

 appcmd.exe set app "Default Web Site/" /enabledProtocols:http,net.tcp
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...