簡體   English   中英

WebClient和FtpWebRequest都掛起(超時)

[英]WebClient and FtpWebRequest Both Hanging (Timeout)

我正在嘗試從使用被動模式的FTP站點下載文件。 我已經嘗試了FtpWebRequest方法和WebClient.DownloadFile和DownloadFileAsync方法。

最近,我的代碼如下:

using (var client = new WebClient())
{
    client.Proxy = new WebProxy();
    client.Credentials = credentials;
    client.DownloadFileCompleted += client_DownloadFileCompleted;
    client.DownloadFileAsync(new Uri(remotePath), localPath);
}

並包裝在DownloadFile方法中。 在異步處理程序中,我得到下一個項目,然后(遞歸)再次調用DownloadFile方法,依此類推,直到我到達最后一個項目。

幾乎每一次,我使用的每種方法,我都會處理6個文件,並找出7個錯誤。 它僅一次遍歷了列表中的所有文件,我無法再次復制它。 每個文件的數量約為100個,文件大小約為30-120k。 奇怪的是,我經常會在第7個項目中看到本地文件夾中的文件計數,但是如果我讓Worker Process在后台運行,然后在幾分鍾后返回並關閉IIS Express或VS Web Server,文件將顯示。 但是,它太不可預測了,不能直接用於生產中。

我還在CodePlex上嘗試了FTP LIB庫,並且遇到了同樣的問題。

似乎他們的一端正在關閉我的連接。

我有類似的問題。 就我而言,我需要從Linux服務器上的許多文件夾中下載許多小文件。 系統管理員bloke建議我在每批之間添加3秒的延遲。 它大大減少了錯誤的數量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM