SSH.Net SftpClient:我需要在使用块内调用断开连接吗?

vke*_*man 8 idisposable using disconnect ssh.net

在这样的代码中

using (var sftp = new SftpClient(_host, _userName, _password))
{
  sftp.Connect();
  // Do some work with sftp
  sftp.Disconnect();
}
Run Code Online (Sandbox Code Playgroud)

sftp.Disconnect() 调用是必要的还是会使用块(处置/关闭/任何)自动关闭连接?

Dáv*_*abó 3

不,您不需要Disconnect在一个using块内调用。

SftpClientDisconnect处理对象时自动调用该方法。

查看相关源码:

https://github.com/sshnet/SSH.NET/blob/7bdfc9e615b736b2762f5cd83c31a5f669663ff6/src/Renci.SshNet/BaseClient.cs#L409-L428