Come chiudere correttamente un canale WCF

August 14

Correttamente la chiusura di un canale di WCF per il vostro servizio può rendere l'applicazione client più user-friendly per la gestione degli errori correttamente e evitando qualsiasi crash improvviso dell'applicazione. Un canale client WCF si apre quando si chiama una operazione; errori possono accadere a causa di una serie di circostanze. Il modo migliore per chiudere correttamente un canale è quello di utilizzare il "try ... catch" blocchi e interrompere il collegamento del canale in caso di eventuali errori. Dopo una operazione di successo, si dovrebbe anche verificare lo stato del client per gli errori nel caso in cui è necessario interrompere la connessione, invece di chiuderlo.

istruzione

1 Crea il tuo oggetto client WCF aggiungendo la seguente riga di codice:

<YourClientName> WCFclientVar = new <yourClientName>

2 Aggiungere il seguente codice per chiamare le operazioni nel vostro servizio WCF dal blocco "provare" e correttamente chiudere la connessione canale dopo aver completato senza errori:

provare
{

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

{

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

}
Altro
{
WCFclientVar.Abort ();
MessagBox.Show ( "Cliente interrotta nel blocco try causa di un errore Riprova!.");
}
}

3 Maniglia tempo fuori eccezioni nel blocco di "catturare" e interrompere la connessione di canale utilizzando il seguente codice:

catch (timeout TimeoutException)
{

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

}

4 Si potrebbe anche aggiungere il seguente blocco "catturare" per catturare eventuali altri errori e interrompere il collegamento del canale quando si verificano:

catch (Exception ex)
{

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

}