Ошибка при перемещении файлов на удаленный FTP

Я создал консольное приложение, которое читает и перемещает файлы с удаленного FTP. Все шло гладко, пока я не развернул код в рабочей среде.

Первое, что я запрашиваю при подключении к FTP, это listDirectory, который работает в обеих средах. После этого я пытаюсь переместить файлы из корня, но это работает только в среде разработки!? В рабочей среде я получаю следующий код ошибки: Удаленный сервер вернул ошибку (451) локальная ошибка при обработке

Вот код для перемещения одного файла:

var uri = new Uri("ftp://ftp.example.com/test.xml");
var request = (FtpWebRequest)WebRequest.Create(uri);

request.Credentials = new NetworkCredential(_username, _password);
request.UsePassive = true;
request.Method = WebRequestMethods.Ftp.Rename;
request.RenameTo = "/folder/test.xml";

(FtpWebResponse)request.GetResponse();

Следует также упомянуть, что я могу перемещать файлы в производстве с помощью командной строки:

ftp ftp.example.com

Имя пользователя: .....

Пароль: .....

переименуйте test.xml /folder/test.xml

250 Файл успешно переименован или перемещен

У меня закончились идеи, поэтому любая помощь приветствуется!

PS. Я подключаюсь к одному и тому же хосту FTP с одинаковыми учетными данными в обеих средах, и я также могу читать файлы в обеих средах.


person Mattias Hagström    schedule 06.03.2013    source источник
comment
Проверьте это: stackoverflow.com/questions/3035610/   -  person Adriano Repetti    schedule 06.03.2013


Ответы (1)


Я была такая же проблема. В нашем случае это была версия .Net Framework. Сервер, на котором была установлена ​​версия 4.0, получил ошибку «(451) локальная ошибка при обработке». Те что были 4.5. установил запустился без проблем. Итак, мы установили .Net Framework 4.5 на наш сервер приложений, и это решило проблему.

person user1860266    schedule 05.12.2013