2017-11-14 2 views
1

작동중인 C# .NET 응용 프로그램에서 FTP 서버에 대한 연결을 테스트하고 있습니다. 연결이 가능하거나 서버 주소가 유효하지 않은 경우 즉시 응답합니다. 그러나 자격 증명이 유효하지만 연결할 수없는 경우 매우 느립니다. 어떻게 이것에 타임 아웃 시간을 줄일 수 있습니까?FtpWebRequest와의 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"); 
} 

감사

답변

2

FtpWebRequest.Timeout를 사용하여 제한 시간을 지정합니다.


WebRequest.GetResponseAsync을 사용하는 비동기 요청을 사용하십시오.

그러면 원하는 방식으로 비동기 응답을 기다리는 시간을 제어 할 수 있습니다.