У меня возникла та же проблема при попытке использовать конечную точку службы net.tcp wcf в службе http asmx.
Как я увидел, никто не написал конкретного ответа ПОЧЕМУ эта проблема возникает, а только как правильно ее обработать.
Я боролся с этим несколько дней подряд, и, наконец, я выяснил, откуда возникла проблема в моем случае.
Первоначально я думал, что когда вы делаете ссылку на службу, файл конфигурации будет настроен относительно тега безопасности так же, как и в источнике, но это не так, и я должен позаботиться об этом вручную.
В моем случае у меня было только
<netTcpBinding>
<binding name="NetTcpBinding_IAuthenticationLoggerService"
</binding>
</netTcpBinding>`
Позже я увидел, что часть безопасности отсутствует, и она должна выглядеть следующим образом
<netTcpBinding>
<binding name="NetTcpBinding_IAuthenticationLoggerService" transferMode="Buffered">
<security mode="None">
<transport clientCredentialType="None"/>
</security>
</binding>
</netTcpBinding>
Вторая проблема в моем случае заключалась в том, что я использовал transferMode="Streamed"
в исходной службе WCF, а в клиенте у меня не было ничего конкретного, что было плохо, потому что по умолчанию transferMode
равно Buffered
, и это важно в обоих местах источник и клиент должны быть настроены одинаково.