Служба Windows и Wcf - PullRequest
       1

Служба Windows и Wcf

0 голосов
/ 29 марта 2011

Я использую службу WCF в своей службе Windows в методе Onstart, мой вызов службы выглядит следующим образом

    try
       {
           using (BackupUtilityWcfService.BackupUtilityClient oBackupUtilityClient =                 new BackupUtilityWcfService.BackupUtilityClient())
           {                  
                oBackupUtilityClient.ReadSnapshotMsmq();
                 oBackupUtilityClient.ReadReplicationMsmq();
                  oBackupUtilityClient.ReadReplicationCompleteMsmq();
             }
          }
       }
        catch
        {
       }

Но когда я вызываю службу WCF, я получаю эту ошибку

Служба не может быть запущена,System.ServiceModel.CommunicationObjectFaptedException: объект связи System.ServiceModel.Channels.ServiceChannel не может использоваться для связи, поскольку он находится в состоянии Faulted.

Трассировка стека сервера: в System.ServiceModel.Channels.CommunicationObject.Закрыть (TimeSpan timeout)

Что с этим не так?

1 Ответ

0 голосов
/ 29 марта 2011

Очевидно, что первый удаленный вызов (ReadSnapshotMsmq) создает исключение на стороне службы, поэтому клиентский канал становится «Неисправным».В этом случае вы не можете повторно использовать клиентский канал для дальнейших вызовов вашей службы.

Вы можете поместить удаленный вызов функции в блок try-catch, чтобы перехватить исключение и изящно закрыть неисправный канал (или использоватьновый для последующих звонков).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...