Связывание, которое я использую, - NetTcpBinding (через Интернет), со всеми компонентами параллелизма и maxconnection, установленными на высокое значение (4000 maxconnection, одновременный и т. Д.), Поэтому регулирование установлено очень высоким, и на самом деле из wcf счетчики производительности сервера Я вижу, что ни один из счетчиков параллелизма не заполнен, НО ... но я испытываю кошмар тайм-аута, описывающий следующее:
"Тайм-аут, который просто определяет, как долго вы должны ждать, чтобы служба фактически перестала работать, и выдает ошибку, но изменение значения этого тайм-аута не влияет на вероятность успеха. В основном, что-то происходит во время первого второй запрос на обслуживание, который все портит. Он никогда не восстановится. WCF не может магически повторить попытку сетевого подключения для вас. Хорошо, иногда установление сетевого подключения не проходит хорошо. Но, если ваше время ожидания составляет 2 часа, вы придется ждать целых 2 часа, чтобы ни один из них не работал, прежде чем он, наконец, признает, что он не работает, и выдает ошибку. "
Я взял вышеприведенное описание от этой темы , это именно та проблема, которую я получаю.
Операторы выполняют одну и ту же операцию тысячи и тысячи раз в день, и иногда они принимают ошибку тайм-аута, даже если после того, как они могут выполнить ту же операцию быстро, без каких-либо задержек, также в то время как кто-то получает тайм-аут на тот же компьютер с другим экземпляром клиента, они могут сделать звонок, и он идет быстро! И проверка ошибок на стороне сервера ничего не регистрируется в реализации сервиса и ничего не сохраняется в базе данных, поэтому методы никогда не вызывались по запросу, поэтому я абсолютно думаю о какой-то ошибке во время инициализации вызова, может быть, аутентификация, токенизация, криптование или что-то в этом слое, но я не могу найти ни одного кровавого сообщения об ошибке (возможно, включение трассировки wcf?).
В любом случае дело в том, что мы получили одно и то же старое программное обеспечение, написанное на классическом asp с обычным http-запросом клиент-сервер, и таких проблем никогда не бывает, даже если мы говорим об одном и том же интернет-соединении, так о чем я должен думать? Интернет-исследователь делает что-то волшебное, когда появляются ошибки? WCF получил скрытую конфигурацию, которую я могу установить, чтобы улучшить это поведение? Что я могу сказать, так это то, что я пытался настроить нашу службу wcf в WsHttpBinding, и такого рода тайм-ауты никогда не происходят, даже если у нас все еще появляются некоторые ошибки, но соединение немедленно освобождается, даже если соединение довольно То же самое, что и соединение tcp, потому что по умолчанию wshttpbinding настроен для поддержки активности канала tcp, но я до сих пор не понимаю, почему с tcp я получаю такие таймауты.
Если кто-то может мне помочь, я буду очень признателен!
Спасибо!