使用FtpWebResponse下载文件 - 文件下载甚至从ftp服务器删除后?

时间:2014-03-17 06:06:13

标签: c# ftp ftpwebrequest

我正在使用FtpWebResponse从ftp服务器下载文件。我的代码如下所示:

FtpWebRequest request;
try
{
    request = (FtpWebRequest)FtpWebRequest.Create(path);
    request.UseBinary = true; 
    request.Credentials = new NetworkCredential(user, passwd);
    request.Method = WebRequestMethods.Ftp.DownloadFile;
    using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
    {
        MemoryStream ms = new MemoryStream();
        using (Stream rs = (Stream)response.GetResponseStream())                         
        {
            rs.CopyTo(ms);          
        }         
    }
}
catch (Exception ex)
{
    ... error handling code here ...
}   

哪个工作正常 - 我能够读取内存流并查看文件。我正在测试,所以我将另一个文件复制到ftp服务器,删除旧文件,并将新文件重命名为相同的名称,然后重新运行我的程序。我仍然看到旧文件 - 我从ftp服务器删除的文件 - 而不是新文件。所以我删除了新文件 - 现在ftp服务器上没有文件。我重新运行我的程序,它运行没有错误,并继续向我显示来自ftp服务器的原始文件。如果我直接ftp到ftp服务器,我验证那里没有文件...

发生了什么?连接是否缓存?这些症状已经持续了一个小时左右......

1 个答案:

答案 0 :(得分:0)

尝试:

request.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.NoCacheNo‌​Store);