Я не имею тестируя никаких особенностей конфигурации WCF 4.WCF 4 и NetTcpBinding
Я построил простую службу и развертывание его в 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: //localhost/Service1.svc. Ошибка подключения продолжалась некоторое время span 00: 00: 02.1041204. Ошибка TCP код 10061: соединение не может быть сделано, потому что целевая машина активно отказывается от нее 127.0.0.1:808.
Ссылка net.tcp установлена на веб-сайте по умолчанию.
У меня такое ощущение, что есть что-то простое, что мне не хватает. У кого-нибудь есть идеи?
Вы также можете щелкнуть правой кнопкой мыши по IIS> Веб-сайт по умолчанию и нажать «Дополнительные настройки». Вы увидите последнюю опцию «Enabled Protocols», и вы можете добавить net.tcp. – Donny