У меня недавно были похожие проблемы, но в конце концов я смог заставить их работать.
Вы говорите: «В IIS Manager / Управление веб-сайтом / Расширенные настройки включены протоколы http и net.tcp. - Я также добавляю net tcp к привязке сайта».
Этот параметр также необходимо установить вручную на уровне «виртуального корня», если он есть. Это работает под виртуальным корнем в IIS? Если это так, проверьте эту настройку там.
Вы также установили привязки на веб-сайте , уровень «Редактировать привязки»? Вам нужно будет добавить привязку net.tcp здесь. В вашем случае:
Type: net.tcp
Binding Information: 808:*
Если оба из них не пройдены, отправьте сообщение обратно. Я буду следить за:)
[Изменить в ответ на ваши комментарии]
ОК. Я внимательно посмотрел на ваш конфиг, и он мне не подходит. Это серверная конфигурация? [т.е. не для вызывающего клиента]
Я пересоздал конфиг, основанный на вашем, для экспериментов с вами. [Я избавился от мексиканских вещей - просто скрепка tcp)
Использовали ли вы редактор конфигурации службы WCF для создания этой конфигурации, или вы делали это вручную? Если вручную - не используйте редактор настроек. Это спасает жизни!
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="netTcpStreaming" closeTimeout="00:10:00" openTimeout="00:10:00"
sendTimeout="00:10:00" maxBufferPoolSize="2147483647" maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
<security mode="None" />
</binding>
</netTcpBinding>
</bindings>
<services>
<service name="Services.Library.OrderService">
<endpoint address="net.tcp://localhost:808/" binding="netTcpBinding"
bindingConfiguration="netTcpStreaming" contract="Services.Interface.IOrderService" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:808/" />
</baseAddresses>
</host>
</service>
</services>
</system.serviceModel>
</configuration>