我遇到了一段時間一直在困擾我的問題。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錯誤會每次都會發生。但是,我們可以嘗試下載文件,出現錯誤,我們嘗試再次下載具有相同參數的相同文件,並且它將起作用。而且它會在更大的文件中更頻繁地出現。任何想法?