Wie man richtig einen WCF-Kanal zu schließen

July 20

Richtig schließen ein WCF-Kanals für Ihren Dienst machen Ihrer Client-Anwendung benutzerfreundlicher richtig behandeln von Fehlern und Vermeidung jeder plötzlichen Absturz der Anwendung. Ein WCF-Client-Kanal wird geöffnet, wenn Sie einen Vorgang aufrufen; Fehler können durch eine Reihe von Umständen passieren. Der beste Weg, um einen Kanal zu schließen ist mithilfe der "try … Catch" blockiert und die Kanal-Verbindung bei Fehler abgebrochen wird. Nach einer erfolgreichen Operation sollten Sie auch den Status des Clients auf Fehler überprüfen, bei Bedarf die Verbindung anstatt Schließen abbrechen.

Anweisungen

1 Erstellen Sie Ihre WCF-Client-Objekt, durch das Hinzufügen der folgenden Codezeile:

< YourClientName > WCFclientVar = neue < YourClientName >

2 Fügen Sie den folgenden Code zum Aufrufen von Operationen in Ihre WCF-Dienst von "Try"-Block und die Channel-Verbindung ordnungsgemäß zu schließen, nachdem es ohne Fehler abgeschlossen wurde:

versuchen Sie{

Console.WriteLine(WCFclientVar.operationName); if (WCFclientVar.State != System.ServiceModel.CommunicationState.Faulted)

{

WCFclientVar.Close(); MessagBox.Show (“Your WCF executed successfully”);

}Sonst{WCFclientVar.Abort();MessagBox.Show ("Client im Try-Block aufgrund eines Fehlers abgebrochen! Bitte versuchen Sie es erneut.");}}

3 Timeout-Ausnahmen im "Catch"-Block zu behandeln und bricht Ihr Channel-Verbindung mithilfe des folgenden Codes:

fangen Sie (TimeoutException Timeout){

WCFclientVar.Abort(); MessagBox.Show (“Connection time out!”);

}

4 Sie könnten auch hinzufügen, im folgenden "fangen" blockieren, um andere Fehler zu erfassen und die Channel-Verbindung abbrechen, wenn sie geschehen:

Catch (Exception ex){

WCFclientVar.Abort(); MessagBox.Show (ex.Message);

}