Hvordan du skal lukke en WCF Channel

Riktig å stenge en WCF kanal for din tjeneste kan gjøre klienten programmet mer brukervennlig ved å håndtere feil ordentlig og unngå plutselige krasj av søknaden. En WCF klient kanal blir åpnet når du ringer en operasjon; feil kan skje som følge av en rekke forhold. Den beste måten å riktig lukke en kanal er ved å bruke "prøve ... fangst" blokker og avbrytes kanalforbindelse i tilfelle noen feil. Etter en vellykket operasjon, bør du også sjekke tilstanden til klienten for feil i tilfelle du trenger å avbryte forbindelsen stedet for å lukke det.

Bruksanvisning

1 Lag din WCF klient objekt ved å legge til følgende kode:

<YourClientName> WCFclientVar = new <yourClientName>

2 Legg til følgende kode for å ringe operasjoner i WCF service fra "prøve" blokk og riktig lukke kanalforbindelse etter at den har fullført uten feil:

prøve
{

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

{

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

}
Ellers
{
WCFclientVar.Abort ();
MessagBox.Show ( "Client avbrutt i prøve blokk på grunn av en feil, vennligst prøv igjen.");
}
}

3 Håndtak tid ut unntak i "fange" blokk og avbryte kanaltilkobling ved hjelp av følgende kode:

fangst (TimeoutException timeout)
{

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

}

4 Du kan også legge til følgende "fange" blokk å fange opp eventuelle andre feil og avbryte kanaltilkobling når de skjer:

catch (Exception ex)
{

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

}