gpt4 book ai didi

c# - 在 C# 中使用 WinSCP .NET 程序集检查连接状态

转载 作者:太空宇宙 更新时间:2023-11-03 12:23:18 25 4
gpt4 key购买 nike

我有一个在 C# 中重试 WinSCP 连接的方法。

我怎么知道我的连接状态是打开还是关闭? WinSCP .Net 中有这方面的方法吗?

using (Session session = new Session())
{
try
{
session.Open(sessionOptions);
}
catch(Exception ex)
{
//I want to reconnect here if my connection
//is timed out
//I want to reconnect here 3 times
}


// Upload file
session.PutFiles(@"C:\Test\files.dat", "var/test/files.dat");

// I want also to reconnect here if my upload failed
// reconnect to the server then upload the files that
// did not upload because of the connection errors
}

最佳答案

在您的代码中,您已经知道连接是否成功。反正你可以查Session.Opened ,如果你出于某种原因想要明确测试。

using (Session session = new Session())
{
int attempts = 3;
do
{
try
{
session.Open(sessionOptions);
}
catch (Exception e)
{
Console.WriteLine("Failed to connect - {0}", e);

if (attempts == 0)
{
// give up
throw;
}
}
attempts--;
}
while (!session.Opened);

Console.WriteLine("Connected");
}

文件传输操作,如Session.PutFiles , 如果连接在传输过程中丢失,则自动重新连接。

它将保持重新连接多长时间由 Session.ReconnectTime 指定.

关于c# - 在 C# 中使用 WinSCP .NET 程序集检查连接状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46317508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com