У меня есть служба WCF, работающая в IIS с ServiceHostFactory. Он отлично работает с WSHttpBinding, но из-за скорости и всего, что находится в одной сети (без брандмауэров), я хочу немного ускорить работу с использованием NetTcpBinding.
Когда я пытаюсь сделать это, я получаю эту ошибку:
Не удалось подключиться к net.tcp://zzz.xxx.yyy/MyService.svc. Попытка подключения продолжалась в течение промежутка времени 00: 00: 01.0464395. Код ошибки 10061 TCP: соединение не может быть выполнено, потому что целевой компьютер активно отказался от него x.x.x.x: 808.
Я использую SecurityMode.None
только для того, чтобы убедиться, что это не надувает меня, и я пробовал любой из них на двух разных попытках:
binding.Security.Message.ClientCredentialType = MessageCredentialType.None;
binding.Security.Message.ClientCredentialType = TcpClientCredentialType.Windows;,
Также я должен указать, что я вытаскиваю довольно много данных из одного из вызовов службы, поэтому я также помещаю их (как на http, так и на попытки tcp - установка maxMessageSize на 1000000)
binding.MaxReceivedMessageSize = maxMessageSize;
binding.ReaderQuotas.MaxArrayLength = maxMessageSize;
Это должно быть довольно легко заставить его работать, и что мне не хватает?
UPDATE: я добавил порт TCP 808 к идентификатору веб-сайта и повторил попытку. Теперь я получаю эту ошибку:
Вы попытались создать канал для службы, которая не поддерживает .Net Framing. Возможно, вы столкнулись с конечной точкой HTTP.