Загрузка по 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