FtpWebResponse IDisposable закрывает ответ?

Я использую следующий код в моей программе, нужно ли мне response.close()? Или FtpWebResponse IDisposable реализация закрыть ответ?

using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
{

}

В общем, нужно ли мне это делать?

using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
{
    response.close();
}

1 ответ

Решение

Нет, вам не нужно звонить Close, поскольку Dispose уже делает это. FtpWebResponse наследуется от WebResponse и это явно реализовано Dispose, который внутренне называют Close,

Код для WebResponse.cs от: http://www.dotnetframework.org/default.aspx/4@0/4@0/DEVDIV_TFS/Dev10/Releases/RTMRel/ndp/fx/src/Net/System/Net/WebResponse@cs/1305376/WebResponse@cs

 /// <internalonly>
        void IDisposable.Dispose() {
            try
            {
                Close();
                OnDispose();
            }
            catch { }
        }
Другие вопросы по тегам