3

我在我的程序中使用以下代码,我还需要调用response.close()吗?或者FtpWebResponse IDisposable实施是否关闭了响应?

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

}

所以基本上,我需要这样做吗?

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

1 回答 1

4

不,你不必打电话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 { }
        }
于 2013-10-24T15:01:27.820 回答