У меня есть приложение WCF с парой тысяч клиентов, подключающихся к паре служб, работающих под управлением IIS. Я заметил, что некоторые из этих клиентов находятся в зависшем состоянии, и я пытаюсь воспроизвести это.
Когда эта проблема была впервые замечена, я не изменил конфигурацию регулирования, и службы были настроены на ConcurrencyMode.Single. Одна вещь, которую я заметил, была то, что IISReset на сервере вызвал зависание многих клиентов. Тем не менее выполнение этой же задачи на клиенте, работающем против IIS на моем локальном компьютере, похоже, не вызывает проблемы.
Я поймал это только один раз в дикой природе, но в то время отладка не была включена. Симптом, который я засвидетельствовал, состоял в том, что клиент, казалось, пытался открыть соединение с веб-сервером, но не смог. Во время мониторинга с помощью Fiddler я не видел попыток достичь конечной точки службы. Очевидно, это заставляет меня подозревать прокси клиента.
У меня очень четкое представление о том, что происходит, а именно: я использовал «Close ()» вместо «Abort ()», когда служба выдает исключение, которое, по моему мнению, приводит к повреждению каналов. , Но, учитывая усилия по созданию новой версии, мне нужно воспроизвести эту проблему, заставив клиента на моей собственной машине зависнуть , прежде чем я смогу начать вносить изменения в код.
С чего мне начать?
Заранее спасибо,
roufamatic