使用FtpWebRequest减少等待FTP连接的时间

时间:2017-11-14 10:55:58

标签: c# .net ftp ftpwebrequest

我正在测试从我的c#.NET应用程序到FTP服务器的连接。如果可以建立连接或服务器地址无效,则响应是即时的。但是,如果凭据有效但无法建立连接,则速度非常慢。 如何减少超时时间?

FTP测试代码:

try
{               
    FtpWebRequest ftpRequest =
        (FtpWebRequest)WebRequest.Create(new Uri("ftp://"+ftpServer+"/"));
    ftpRequest.Method = WebRequestMethods.Ftp.ListDirectory;
    ftpRequest.Credentials = new NetworkCredential(ftpUsername, ftpPassword);
    ftpRequest.GetResponse();

    MessageBox.Show("OK");
}
catch (Exception ex)
{
    MessageBox.Show("Error");
}

由于

1 个答案:

答案 0 :(得分:2)

使用FtpWebRequest.Timeout指定超时。

或使用WebRequest.GetResponseAsync使用异步请求。

然后,您可以控制您以任何方式等待异步响应的时间。