我正在寻找一种方法,如果可能的话,连接到ftp服务器,然后遍历本地文件列表以检查它们是否存在于服务器上。现在,我发现:
var request = (FtpWebRequest)WebRequest.Create("ftp://ftp.domain.com/doesntexist.txt");
request.Credentials = new NetworkCredential("user", "pass");
request.Method = WebRequestMethods.Ftp.GetFileSize;
try
{
var response = (FtpWebResponse)request.GetResponse();
}
catch (WebException ex)
{
var response = (FtpWebResponse)ex.Response;
if (response.StatusCode == FtpStatusCode.ActionNotTakenFileUnavailable)
{
//Does not exist
}
}
但是,如果我读得正确(我还没有喝咖啡),它会为每个文件创建一个WebRequest
。总体目标是检查这些文件是否存在,如果不存在,则上传它们。我的问题是,我是否必须单独执行此操作,或者是否可以(甚至可行)只连接到FTP一次然后进行检查/上传?
答案 0 :(得分:2)