本文介紹了C# - FtpWebRequest - 通過同一連接/登錄的多個請求的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
限時送ChatGPT賬號..
我想循環訪問 FTP 文件夾以檢查文件是否到達
I want to loop on a FTP folder for check if a file has arrived
我愿意:
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://localhost:8080");
request.Credentials = new NetworkCredential("anonymous", "");
request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
while(true)
{
using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
using (Stream responseStream = response.GetResponseStream())
using (StreamReader reader = new StreamReader(responseStream))
{
Console.WriteLine(reader.ReadToEnd());
reader.Close();
response.Close();
}
}
但是在第二次迭代中我得到了一個異常:
But at the second iteration I get an exception:
無法讀取流
推薦答案
對不起,我錯過了,您只發出一個請求并嘗試多次獲得響應.試試下面的代碼:
Sorry, I missed it, you're only issuing one request and trying to get a response multiple times. Try the code below:
while(true)
{
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://localhost:8080");
request.Credentials = new NetworkCredential("anonymous", "");
request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
using (Stream responseStream = response.GetResponseStream())
using (StreamReader reader = new StreamReader(responseStream))
{
Console.WriteLine(reader.ReadToEnd());
reader.Close();
response.Close();
}
}
您應該在每個循環結束時添加某種暫停.你不想轟炸服務器.
You should add a pause of some sort at the end of each loop though. You don't want to bombard the server.
這篇關于C# - FtpWebRequest - 通過同一連接/登錄的多個請求的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!
【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!