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 { }
}