C# 从ftpserver下载文件时出现异常

C# 从ftpserver下载文件时出现异常,c#,ftp,C#,Ftp,我用下面的代码将文件从FTP服务器下载到本地文件系统。但是当我使用它时,它显示了以下错误 我使用了以下代码 代码片段 private string user = "uname"; private string pass = "passwd"; private FtpWebRequest ftpRequest ; private FtpWebResponse ftpResponse ; private Stream ftpStream ; public void download(stri

我用下面的代码将文件从FTP服务器下载到本地文件系统。但是当我使用它时,它显示了以下错误

我使用了以下代码

代码片段

private string user = "uname";
private string pass = "passwd";
private FtpWebRequest ftpRequest ;
private FtpWebResponse ftpResponse ;
private Stream ftpStream ;



public void download(string remoteFile, string localFile)
{
    try
    {

        ftpRequest = (FtpWebRequest)FtpWebRequest.Create("ftp://uname:passwd@hostname/foldername/filename");

        ftpRequest.Credentials = new NetworkCredential(user, pass);

        ftpRequest.UseBinary = true;
        ftpRequest.UsePassive = true;
        ftpRequest.KeepAlive = false;


        ftpRequest.Method = WebRequestMethods.Ftp.DownloadFile;

        ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();

        ftpStream = ftpResponse.GetResponseStream();

        FileStream localFileStream = new FileStream(localFile, FileMode.Create);

        byte[] byteBuffer = new byte[2048];
        int bytesRead = ftpStream.Read(byteBuffer, 0, 2048);

        try
        {
            while (bytesRead > 0)
            {
                localFileStream.Write(byteBuffer, 0, bytesRead);
                bytesRead = ftpStream.Read(byteBuffer, 0, 2048);
            }
        }
        catch (Exception ex) { Console.WriteLine(ex.ToString()); }

        localFileStream.Close();
        ftpStream.Close();
        ftpResponse.Close();
    }
    catch (Exception ex)
    {

        Console.WriteLine(ex.ToString());
        Console.ReadKey();
    }
    return;
}
有人能帮我解决这个问题吗

更新

我还更改了
ftpRequest.KeepAlive=false
to
ftpRequest.KeepAlive=true


但是我面临着同样的例外

改变
ftpRequest.KeepAlive=false
to
ftpRequest.KeepAlive=true

当我按以下方式更改代码时

 ftpRequest.UsePassive = false;

它从ftp服务器下载给定文件

请参阅本文。它可能会解决您的错误@Saravanan..谢谢你的帖子…但当我把它改为true时,我也面临着同样的例外。你也可以尝试用“using”包装“ftprequest”来更改代码。你也可以解释一下你的解决方案吗?