Закрытие и удаление службы WCF

Метод Close для объекта ICommunicationObject может генерировать два типа исключений, поскольку MSDN выделяет здесь. Я понимаю, почему метод Close может вызывать эти исключения, но я не понимаю, почему метод Dispose на прокси-сервере службы вызывает метод Close без попытки его использования. Разве ваш метод Dispose не является единственным местом, где вы хотите, чтобы вы не выбрали никаких исключений?

Ответы

Ответ 1

Кажется, это общий шаблон проектирования в .NET-коде. Вот цитата из Принципы проектирования рамок

Рассмотрим метод предоставления Close(), в дополнение к Dispose(), если close - стандартная терминология в области. При этом важно, чтобы реализация Close была идентична Dispose...

Вот сообщение , в котором вы можете найти обходной путь для этой проблемы с конструкцией System.ServiceModel.ClientBase