.Net FtpWebRequest иногда терпит неудачу - PullRequest
7 голосов
/ 13 октября 2009

Я пытаюсь перечислить сведения о файле с помощью FtpWebRequest, но очень часто он завершается с WebException и выдает ошибку 530.

Как это возможно, что он иногда работает с использованием тех же учетных данных?

Выдержка из кода:

        reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpuri));
        reqFTP.UseBinary = true;
        reqFTP.Credentials = new NetworkCredential(userName, password);
        string[] downloadFiles = new string[0];
            reqFTP.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
            WebResponse response = reqFTP.GetResponse();
            StreamReader reader = new StreamReader(response.GetResponseStream());
            downloadFiles = reader.ReadToEnd().Replace("\r\n", "¤").Split('¤');
            reader.Close();
            response.Close();

1 Ответ

1 голос
/ 27 июля 2011

Попробуйте установить

reqFTP.KeepAlive = false;

и, возможно, если вышеперечисленное не работает

reqFTP.UsePassive = false;

Я обнаружил, что установка их в false значительно снизила вероятность возникновения этой ошибки (которая генерируется FTP-сервером).

...