Calling Close internally calls Dispose so you don’t need to call both. From .NET Reflector:
public void Close()
{
if (s_LoggingEnabled)
{
Logging.Enter(Logging.Sockets, this, "Close", (string) null);
}
((IDisposable)this).Dispose();
if (s_LoggingEnabled)
{
Logging.Exit(Logging.Sockets, this, "Close", (string) null);
}
}
If possible you should use the using
pattern so that you always call Dispose regardless of any exceptions that might occur.