2009-10-28 2 views
0

У меня есть приложение WCF с несколькими тысячами клиентов, подключающихся к паре служб, работающих под IIS. Я заметил, что некоторые из этих клиентов попадают в завитое состояние, и я пытаюсь воспроизвести это.Клиентское приложение WCF зависает - нужно проконсультироваться

Когда эта проблема была впервые замечена, я не изменил конфигурацию дросселирования, и сервисы были установлены на ConcurrencyMode.Single. Одна вещь, которую я заметил, это то, что IISReset на сервере заставил многих клиентов висеть. Тем не менее, вытаскивание этого же трюка на клиенте, работающем с IIS на моей локальной машине, похоже, не вызывает проблемы.

Я поймал это только один раз в дикой природе, но в то время не было отладки. Симптом, который я наблюдал, заключался в том, что клиент, похоже, пытался открыть соединение с веб-сервером, но этого не удалось. Во время мониторинга с помощью Fiddler я не видел попыток достичь конечной точки обслуживания. Очевидно, это заставляет меня подозревать прокси-сервер клиента.

У меня очень твердая догадка о том, что происходит - именно я использовал «Close()» вместо «Abort()», когда служба генерирует исключение, которое, как я полагаю, приводит к тому, что каналы становятся поврежден. Но, учитывая усилия, чтобы получить новую версию там, Мне нужно воспроизвести эту проблему, заставив клиента на моей собственной машине повесить, прежде чем я могу начать вносить изменения в код.

С какого места следует начать?

Спасибо заранее,

roufamatic

ответ

0

Я полагаю, что это был слишком неопределенный вопрос, хотя мне было в основном любопытно, что люди могут предложить. Как оказалось, между моей рабочей станцией и производственной средой существует нетривиальная разница, которая после разрешения разрешила мне увидеть проблему. В этом случае, как-то использование Fiddler для просмотра трафика фактически предотвратило ошибку! Теперь зададим еще один вопрос.

0

Есть ли у Вас какая-либо регистрация включена? Это может помочь в диагностике проблемы. Это можно сделать полностью в конфигурации, поэтому нет необходимости создавать новую версию. Используйте инструмент «Редактор конфигурации службы», чтобы настроить все. В Visual Studio 2008 Training Kit есть хороший учебник по использованию журнала и средства просмотра журнала.

Смежные вопросы