c# - FtpWebResponse IDisposable 是否关闭响应?

标签 c# idisposable using ftpwebresponse

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

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

}

那么基本上,我需要这样做吗?

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

最佳答案

不,您不必调用 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 { }
        }

关于c# - FtpWebResponse IDisposable 是否关闭响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19569275/

相关文章:

.net - Dispose 方法的线程安全性?

c# - CRUD场景的NoSql更新机制

c# - 重命名 ASP.NET MVC 项目导致 Controller 错误的多种类型

c# - 在引发异常或行为异常的构造函数中调用 Dispose 方法

C# 条件使用 block 语句

C# 灵活/动态 USING 进行发布

namespaces - 我可以从 linqpad 查询中删除命名空间导入吗?

c# - C#中 "using"有什么用?

c# - 将字符串更改为 const

c# - C#面板/图片框的问题