Если служба WCF выдает FaultException
, клиенту будет изменено его состояние на CommunicationState.Faulted
. Если вы попытаетесь использовать этот клиентский объект для вызова другой операции службы, вы получите сообщение об ошибке
«Объект связи,
System.ServiceModel.Channels.ServiceChannel,
не может быть использован для общения
потому что он находится в состоянии неисправности. "
Вы также можете получить эту ошибку, если попытаетесь вызвать метод Close()
на неисправном клиенте, я не могу вспомнить.
Вы можете проверить состояние вашего клиентского объекта, проверив свойство State
. Если вы хотите правильно закрыть свой клиент (что вам следует делать), вам нужно вызвать метод Abort()
, если клиент находится в состоянии Faulted
, и метод Close()
, если клиент находится в любом другом состоянии. .