Приложение Windows сбрасывает все соединения WCF и TCP - PullRequest
0 голосов
/ 30 августа 2018

У меня есть служба Windows, которая в основном является хостом WCF (привязка net.tcp) для нескольких сотен клиентов. Он содержит ряд различных служб WCF, некоторые из которых являются дуплексными.

Он также имеет простое TCP-соединение с одним конкретным клиентом.

Чтобы еще больше усложнить ситуацию, приложение загружает сторонний SDK, который устанавливает дополнительные соединения TCP с другими серверами.

По мере увеличения количества клиентов я обнаружил, что он случайным образом сбрасывает все сетевые подключения: более конкретно, все каналы WCF перестают отвечать, а обычное TCP-соединение перестает отвечать. Каналы WCF не отключаются, а остаются подключенными до истечения времени ожидания (через одну минуту).

Клиенты, в конечном итоге, могут заново преобразовать свои соединения, и соединение TCP также восстанавливается.

Я подозреваю, что приложение может просто стать слишком занятым для обслуживания всех соединений, и буферы TCP могут быть переполнены. Но если бы это было так, я бы подумал, что он будет реагировать медленнее - однако это не так, все соединения останавливаются одновременно и не восстанавливаются (приложение легко сможет обработать все ожидающие запросы в течение 1 минуты). Тайм-аут).

Я не ожидаю, что кто-либо решит эту проблему напрямую, поскольку она довольно расплывчата, и я не могу предоставить пример кода, но я надеюсь, что смогу найти несколько советов, как отладить проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...