WCF Best Practices: How to Dispose WCF clients

30 ביולי 2008

Use of the using statement (Using in Visual Basic) is not recommended for Dispose WCF clients. This is because the end of the using statement can cause exceptions that can mask other exceptions you may need to know about.

using (CalculatorClient client = new CalculatorClient())
{

} // <– this line might throw
Console.WriteLine("Hope this code wasn't important, because it might not happen.");

The correct way to do it is:
try
{

client.Close();
}
catch (CommunicationException e)
{

client.Abort();
}
catch (TimeoutException e)
{

client.Abort();
}
catch (Exception e)
{

client.Abort();
throw;
}

Add comment
facebook linkedin twitter email

Leave a Reply

Your email address will not be published.

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>