C# FtpWebResponse IDisposable是否关闭响应?
我在程序中使用以下代码,是否仍需要调用C# FtpWebResponse IDisposable是否关闭响应?,c#,idisposable,using,ftpwebresponse,C#,Idisposable,Using,Ftpwebresponse,我在程序中使用以下代码,是否仍需要调用response.close()?或者,FtpWebResponse IDisposable实现是否关闭响应 using (FtpWebResponse response = (FtpWebResponse)request.GetResponse()) { } 那么基本上,我需要这样做吗 using (FtpWebResponse response = (FtpWebResponse)request.GetResponse()) { respon
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的代码来自:
//
void IDisposable.Dispose()无效{
尝试
{
Close();
OnDispose();
}
捕获{}
}
问问你自己,如果close方法被调用两次,我的成本会更高吗?@Izikon会吗?据我所知,如果我这样做,我的整个应用程序都会崩溃。也许你可以更具体一点,而不是问一个问题。这个问题读起来很有趣:
/// <internalonly>
void IDisposable.Dispose() {
try
{
Close();
OnDispose();
}
catch { }
}