В StackOverflow есть несколько вопросов о закрытии соединений WCF, однако ответы на самый высокий рейтинг относятся к этому блогу:
http://marcgravell.blogspot.com/2008/11/dontdontuse-using.html
У меня проблема с этим методом, когда я устанавливаю точку останова на сервере и позволяю клиенту висеть более одной минуты. (Я намеренно создаю исключение тайм-аута)
Проблема заключается в том, что клиент "зависает", пока сервер не завершит обработку. Я предполагаю, что все очищается после исключения.
В отношении TimeOutException
кажется, что логика retry()
клиента будет продолжать повторно отправлять запрос серверу снова и снова, где я могу видеть отладчик на стороне сервера в очереди запросов , а затем выполнить каждый запрошенный в очереди запрос. Мой код не ожидает, что WCF будет действовать таким образом и может стать причиной проблем с повреждением данных, которые я вижу.
Что-то не полностью дополняет это решение.
Что представляет собой всеобъемлющий современный способ устранения недостатков и исключений в прокси-сервере WCF?