У меня есть служба WCF, работающая на IIS с ServiceHostFactory. Он работает нормально с WSHttpBinding, но из-за скорости и всего, что находится в одной сети (без брандмауэров), я хочу немного ускорить процесс, используя вместо этого NetTcpBinding.
Когда я пытаюсь это сделать, я получаю эту ошибку:
Не удалось подключиться к net.tcp: //zzz.xxx.yyy/MyService.svc. Попытка подключения продолжалась в течение промежутка времени 00: 00: 01.0464395. Код ошибки TCP 10061: не удалось установить соединение, поскольку целевая машина активно отказала ему в этом 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;
Должно быть довольно легко заставить его работать, так чего мне не хватает?
ОБНОВЛЕНИЕ: я добавил порт TCP 808 для идентификации веб-сайта и повторил попытку. Теперь я получаю эту ошибку:
Вы попытались создать канал для службы, которая не поддерживает .Net Framing. Возможно, вы столкнулись с конечной точкой HTTP.