代码之家  ›  专栏  ›  技术社区  ›  Paul Alexander

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

  •  1
  • Paul Alexander  · 技术社区  · 8 年前

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

    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 回复  |  直到 8 年前
        1
  •  2
  •   Martin Prikryl    7 年前

    使用指定超时 FtpWebRequest.Timeout .


    或者使用异步请求,使用 WebRequest.GetResponseAsync .

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

    推荐文章