當您需要獲取FTP服務器上所有目錄的列表時,有什麼辦法可以處理這種情況:目錄數量如此之大,以至於需要太長的時間才能得到它,而且操作因超時而失敗?ftp目錄列表超時。大量的子目錄
我不知道是否有一些圖書館讓你這麼做嗎?
當您需要獲取FTP服務器上所有目錄的列表時,有什麼辦法可以處理這種情況:目錄數量如此之大,以至於需要太長的時間才能得到它,而且操作因超時而失敗?ftp目錄列表超時。大量的子目錄
我不知道是否有一些圖書館讓你這麼做嗎?
嘗試是這樣的
FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create(uri);
ftpRequest.Credentials = new NetworkCredential("anonymous","[email protected]");//replace with your Creds
ftpRequest.Method = WebRequestMethods.Ftp.ListDirectory;
FtpWebResponse response = (FtpWebResponse)ftpRequest.GetResponse();
StreamReader streamReader = new StreamReader(response.GetResponseStream());
List<string> directories = new List<string>();
string line = streamReader.ReadLine();
while (!string.IsNullOrEmpty(line))
{
directories.Add(line);
line = streamReader.ReadLine();
}
streamReader.Close();
// also add some code that will Dispose of the StreamReader object
// something like ((IDisposable)streanReader).Dispose();
// Dispose of the List<string> as well
line = null;
能否限制僅數據即找到的第一個5級,並做了LOD方法? – 2012-02-10 15:49:33
你能把它分成幾塊嗎?說所有以'a'開頭的文件夾,然後是以'b'開頭的另一個查詢,等等。也許你可以用其他方式拆分查詢(即date) – Adrian 2012-02-10 15:49:53
關鍵是ListDirectory我在下面發佈了一個例子如何做到這一點..謝謝你快樂星期五 – MethodMan 2012-02-10 15:53:43