Richtig Schließen eines WCF -Kanal für Ihren Service können Sie Ihre Client-Anwendung nutzerfreundlicher durch den Umgang mit Fehlern richtig und ohne abrupte Absturz der Anwendung. Ein WCF- Client-Kanal wird geöffnet, wenn Sie eine Operation nennen ; Fehler können aufgrund einer Reihe von Umständen passieren. Der beste Weg, um richtig schließen einen Kanal ist die Verwendung der " try ... catch " Blöcke und den Abbruch der Kanal-Verbindung im Falle von Fehlern . Nach einer erfolgreichen Operation , sollten Sie auch prüfen, den Zustand des Clients für Fehler in Fall, dass Sie die Verbindung abbrechen statt sie zu schließen es brauchen. Anleitung
1
Erstelle deinen WCF Client-Objekt , indem Sie die folgende Codezeile :
WCFclientVar = new
2 Fügen Sie den folgenden Code, um Vorgänge in Ihrer WCF-Dienst aus dem "try "-Block anrufen und richtig schließen die Kanal-Verbindung , nachdem sie ohne Fehler beendet:
try { Console.WriteLine ( WCFclientVar.operationName ); if ( WCFclientVar.State = System.ServiceModel.CommunicationState.Faulted ) { WCFclientVar.Close (); MessagBox.Show ("Ihre WCF erfolgreich ausgeführt ");} ! Else { WCFclientVar.Abort (); MessagBox.Show ( "Client abgebrochen versuchen in ! . blockieren aufgrund eines Fehlers Bitte versuchen Sie es erneut ");} }
3
Griff Auszeit Ausnahmen in der " catch "-Block und Abbruch Ihre Kanal-Verbindung mit dem folgenden Code :
catch ( TimeoutException Timeout) { WCFclientVar.Abort (); MessagBox.Show ( "Connection time out! ");}
4
Sie könnten auch die folgenden " catch "-Block zu erfassen alle anderen Fehler und Abbruch der Kanal-Verbindung , wenn sie passieren :
catch (Exception ex) { WCFclientVar.Abort (); MessagBox.Show ( ex.Message );}