0
votes

I am using WCF service in my Windows service in Onstart method my service call like this

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

But When I call my WCF service i get this Error

Service cannot be started. System.ServiceModel.CommunicationObjectFaultedException: The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state.

Server stack trace: at System.ServiceModel.Channels.CommunicationObject.Close(TimeSpan timeout)

What is wrong with this ?

1

1 Answers

0
votes

Obviously the first remote call you make (ReadSnapshotMsmq) throws an exception on the service side, so the client channel becomes "Faulted". In this case you can not reuse the client channel to make further calls to your service.

You can place the remote function call in a try-catch block to catch the exception and gracefully close the faulted channel (or use a new one for subsequent calls).