Несмотря на то, что прокси-серверы, сгенерированные Service Reference и svcutil.exe do , реализуют IDisposable
, в общем случае не - лучший способ заключать их в блок using
;вместо этого используйте явное открытие и закрытие.
Почему?Проблема в том, что метод Dispose
вызывает Close
, , который может выдавать при различных обстоятельствах, особенно если канал находится в состоянии Failed.В целом это плохо, но если это происходит во время блока finally, поскольку вы позволяете всплыть исключению сбоя, оно может поглотить исходное исключение сбоя в пользу исключения Close
, фактически потеряв исходное исключение.