Member 13846964 Ответов: 1

Операция тайм-аут исключение C# FTP


Привет,

Получение исключения в нижней строке как"тайм-аут операции"
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
пожалуйста , предложите

Что я уже пробовал:

public bool FtpDirectoryExists(string directoryPath)
       {
           try
           {
               FtpWebRequest request = (FtpWebRequest)WebRequest.Create(directoryPath);
               request.Method = WebRequestMethods.Ftp.ListDirectory;
               request.Credentials = new NetworkCredential(myftpcreds.UserName, myftpcreds.Password);
               request.KeepAlive = false;
               request.UsePassive = true;
               FtpWebResponse response = (FtpWebResponse)request.GetResponse();

               //request.Timeout = 5000;
              // request.ReadWriteTimeout = 5000;
               return true;
           }
           catch (WebException ex)
           {
               //MessageBox.Show("FtpDirectoryExists");
               return false;
           }
       }
       private void MakeDir(string dirName)
       {
           try
           {
               //create the directory
               FtpWebRequest requestDir = (FtpWebRequest)FtpWebRequest.Create(new Uri(@"ftp://" +  FTPIP + "/" + dirName));
               requestDir.Method = WebRequestMethods.Ftp.MakeDirectory;
               requestDir.Credentials = new NetworkCredential(myftpcreds.UserName,myftpcreds.Password);
               requestDir.UsePassive = true;
               requestDir.UseBinary = true;
               FtpWebResponse response = (FtpWebResponse)requestDir.GetResponse();
               requestDir.KeepAlive = false;
               Stream ftpStream = response.GetResponseStream();
               ftpStream.Close();
               response.Close();
               // return true;
           }
           catch (WebException ex)
           {
               FtpWebResponse response = (FtpWebResponse)ex.Response;
               if (response.StatusCode == FtpStatusCode.ActionNotTakenFileUnavailable)
               {
                   response.Close();
                   //   return true;
               }
               else
               {
                   response.Close();
                   //   return false;
               }
           }
       }

1 Ответов

Рейтинг:
0

Jochen Arndt

Нет (ФТП) сервер б у Ури.

Проверьте, если ваш directoryPath является действительным и существующим URI ("ftp://domain.tld"). Если это так, то сервер может быть отключен, или запрос и/или ответ автоматически блокируются брандмауэром.