我遇到了一段时间一直在困扰我的问题。c#:尝试下载文件时发生随机FTP错误(550)
我是从一个FTP服务器在.NET中下载文件,并随机(我坚持,它是完全随机的),我收到以下错误:
System.Net.WebException:远程服务器返回错误:(550)文件不可用(例如,文件未找到,无法访问)。
我们在.net中的代码实现了重试机制,所以当这个错误发生时,代码将再次下载所有文件。然后,有时候,它会成功,其他时候,550错误会发生在另一个文件上,有时在同一个文件上,它是完全随机的。
我们是DownloadFile方法被调用为每个文件重新下载
byte[] byWork = new byte[2047];
...
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(new Uri(_uri.ToString() + "/" + filename));
request.Method = WebRequestMethods.Ftp.DownloadFile;
request.Credentials = new NetworkCredential(_Username, _Password);
using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
{
using (Stream rs = response.GetResponseStream())
{
using (FileStream fs = new FileStream(destination, FileMode.Create))
{
do
{
iWork = rs.Read(byWork, 0, byWork.Length);
fs.Write(byWork, 0, iWork);
} while (iWork != 0);
fs.Flush();
}
}
}
,即错误我是事情的一个片段,如果在此代码中的错误,550错误会每次都会发生。但是,我们可以尝试下载文件,出现错误,我们尝试再次下载具有相同参数的相同文件,并且它将起作用。而且它会在更大的文件中更频繁地出现。任何想法?