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