Исключение в операторе using, когда WCF не закрывает соединения должным образом. Как закрыть неисправные клиентские соединения WCF или соединения с исключениями?

По StackOverflow есть несколько вопросов относительно закрытия соединений WCF, однако ответы наивысшего рейтинга относятся к этому блогу:

http://marcgravell.blogspot.com/2008/11/dontdontuse -using.html

У меня проблема с этой техникой, когда я устанавливаю точку останова на сервере и позволяю клиенту зависать более одной минуты. (Я намеренно создаю исключение тайм-аута)

Проблема в том, что клиент "зависает", пока сервер не закончит обработку. Я предполагаю, что все очищается после исключения.

Что касается TimeOutException , похоже, что логика retry () клиента будет продолжать повторно отправлять запрос на сервер снова и снова, где я могу видеть Отладчик на стороне сервера помещает запросы в очередь , а затем выполняет каждый запрос из очереди одновременно . Мой код не ожидает, что WCF будет действовать таким образом, и может быть причиной проблем с повреждением данных, которые я вижу.

Что-то не совсем подходит к этому решению.

Каков всеобъемлющий современный способ работы с ошибками и исключениями в прокси-сервере WCF?

5
задан goodguys_activate 19 February 2011 в 03:35
поделиться