修复新连接的超时问题
本文关键字:超时 问题 连接 新连接 | 更新日期: 2023-09-27 18:04:04
这是我的代码:
string my_dir = "";
try
{
my_dir = ftp.GetCurrentDirectory() + "/test";
//It sometimes crashes here. I get timeout error.
}
catch
{
ftp.Close();
ftp.Open();
my_dir = ftp.GetCurrentDirectory() + "/test";
}
ftp是FtpConnection类的实例:http://ftplib.codeplex.com/discussions?searchText=&size=10&page=1
此错误发生在非常大的文件上。我得再等两个小时才能拿到。这就是我在这里问你的原因。catch块中的代码有意义吗?它会解决超时问题吗?
如果库没有公开Timeout属性,您就无能为力了。FtpConnection是WinINET的一个非常薄的包装,所以你唯一的选择是可以写一些P/Invoke代码来改变WinINET的超时。
使用这个类有什么原因吗?. net已经有了FtpWebRequest/FtpWebResponse类。您可以使用FtpWebRequest更改操作的超时时间。Timeout属性或通过传递Infinite值(-1)来禁用超时