У меня есть служба, которая использует WCF для связи с другой службой через брандмауэр через порт 22. Служба имеет около 30 заданий, которые запускаются каждые 5 секунд в цикле. Эти задания в основном вызывают службу на клиенте через брандмауэр (исходящий), и первое, что он делает, проверяет конфигурацию, чтобы убедиться, что это допустимое задание. Эта установка работает на двух парах для резервирования.
сервер -----> WCF -----> клиент (пара 1)
сервер -----> WCF -----> клиент (пара 2)
То, что происходит в паре 2, является исключением в заголовке для некоторых заданий, которые вызываются сервером. Перезапуск сервисной пары временно решает эту проблему, но ошибки начинают появляться снова, как только задание вызывается и проверяется на достоверность для клиента. Проверка достоверности выполняется для обеспечения безопасности, поэтому на клиенте могут выполняться только настроенные задания. Важно отметить, что это происходит только на некоторых рабочих местах.
Файл журнала на сервере показывает время, когда служба была вызвана:
- [2011-10-24 12: 35: 43.726] [INFO] 8268 CL: www.foo.com: запуск нового экземпляра - j63454750613. Петля № 877
- [2011-10-24 12: 35: 43.726 ] [INFO] 8268 CL: j63454750613: Проверка правильности задания сервера ...
- [2011-10-24 12: 35: 43.742 ] [ОШИБКА] 8268 CL: (evnt: 31975) j63454750613: ОШИБКА: Ошибка синхронизации с: Ошибка при проверке задания сервера: Сервер at net.tcp: //192.168.0.1: 22 / ServiceName / BufferedPoint отклонил запрос на установление сеанса.
- [2011-10-24 12: 35: 43,742 ] [INFO] 8268 CL: j63454750613: Работа выполнена.
Важно отметить, что вызов службы происходит во время цикла проверки правильности задания, и что через 16 мс служба выдает исключение, но в журналах клиента нет записи о том, что служба вызывается.
Я провел некоторые исследования, и специалисты Microsoft говорят, что вероятными причинами этого исключения являются медленный нисходящий канал, слишком занятый сервер или блокировка порта 818. В моем случае нисходящая линия связи - 100baseT, сервер - четырехъядерный процессор, 4 г оперативной памяти, который почти не потеет, и мы используем порт 22.
Есть идеи, что здесь может происходить? Я хотел бы предоставить более подробную информацию по запросу.
Приветствие.