Загрузка по FTP дает время ожидания, но загружает файл

Я пытаюсь выяснить этот элемент, я сделал модуль ftp с несколькими действиями, которые все работают отлично, за исключением метода загрузки. На самом деле это работает, но все равно возвращает ошибку.

Так что через некоторое время я получаю сообщение об ошибке тайм-аута, но когда я проверяю свой ftp, файл успешно добавляется. Так что я не могу понять эту особенность..

Мой код:

public static Boolean upload(string remoteFile, string localFile, string applicatie_url) {
        Boolean returnbool = false;

        try {

            FtpWebRequest ftpRequest;
            FtpWebResponse ftpResponse = null;
            Stream ftpStream = null;

            ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + remoteFile);
            ftpRequest.Credentials = new NetworkCredential(user, pass);
            ftpRequest.UseBinary = true;
            ftpRequest.UsePassive = true;
            ftpRequest.KeepAlive = true;
            ftpRequest.Method = WebRequestMethods.Ftp.UploadFile; // upload

            byte[] b = File.ReadAllBytes(localFile);
            ftpRequest.ContentLength = b.Length;
            ftpStream = ftpRequest.GetRequestStream();

            try {

                ftpStream.Write(b, 0, b.Length);
                ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
            } catch (Exception ex) {
                                  // Error catching
            }

            // Cleanup
            ftpStream.Close();
            ftpRequest = null;
            ftpResponse = null;
            returnbool = true;

        } catch (Exception ex) { 
          // Error catching
        }

        return returnbool;
    }

Мое бывшее сообщение: "Превышено время ожидания перевода".

Мой ex.stacktrace: ' ' в System.Net.FtpWebRequest.EndGetResponse (IAsyncResult asyncResult) [0x00052] в /Users/builder/data/lanes/mono-mac-ui-refresh-2-10/2baeee2f/source/bockbuild/profile /mono-2-10/build-root/mono-2.10.11/_build/mono-2.10.11.git/mcs/class/System/System.Net/FtpWebRequest.cs:411 в System.Net.FtpWebRequest.GetResponse () [0x00009] в /Users/builder/data/lanes/mono-mac-ui-refresh-2-10/2baeee2f/source/bockbuild/profiles/mono-2-10/build-root/mono-2.10.11/_build/mono-2.10.11.git/mcs/class/System/System.Net/FtpWebRequest.cs:426 в AutoPolis.FTPHelper.upload (System.String remoteFile, System.String localFile, System.String Applicatie_url) [0x00078] в /Users/.../App_Code/FTPHelper.cs:92 '

Любая помощь будет оценена. Я работаю на своем Mac с MonoDevelop в качестве IDE, не знаю, дает ли это какой-либо шанс этому элементу...

1 ответ

Решение

В прошлом я посмотрел несколько ftp-программ и заметил, что в вашем коде вычищены, вы написали ftpResponse = null; но я бы пошел с "ftpResponse.Close();". Ваша трассировка стека, кажется, упоминает FTPWebRequest, так что это может помочь!

ps это может помочь: http://www.codeproject.com/Tips/443588/Simple-Csharp-FTP-Class

Другие вопросы по тегам