サードパーティとのSFTP接続をテストしていますが、これを行うにはC#とRenciを使用しています。SFTP接続が閉じていません(Renci&C#)
しかし、接続が終了していないようです。これは私の簡単なテストコードです:
public bool TestConnection()
{
using (var client = new SftpClient(_connectionInfo))
{
try
{
client.Connect();
if (!client.IsConnected)
return false;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return false;
}
finally
{
client.Disconnect();
client.Dispose();
}
return true;
}
}
厳密に言えば、切断と廃棄は冗長です。
Wiresharkのホストへの米国からのすべてのテストの最後のコマンドが
59916→22 [RST、ACK] SEQ = 2319 ACK = 1941ウィン= 0レン= 0
であることを示し私にとって、接続が閉じるべきであることを示しています。しかし、約19回の連続したテストの後、ホストは、元の接続がタイムアウトするまで強制的に接続試行を開始します。 ホストはRSTを無視していますか?どうしたの?
ちょっとしたヒント。 [using Statement documentation](https://msdn.microsoft.com/en-us/library/yh598w02.aspx)を見れば、それはクライアント自体を破棄します。それを自分で行う必要はありません。 –
ええ、私は知っている:)したがって、 "厳密に言えば切断と処分は冗長です。" – Schuits
私の最初の考えはDisconnectがDisposeに重複しているということが少し誤解されるかもしれません –