FTPWebRequest .NET 3.5 против 4 - PullRequest
       21

FTPWebRequest .NET 3.5 против 4

2 голосов
/ 06 июня 2011

У меня есть приложение, которое устанавливает FTP-соединение с мэйнфреймом IBM, и все работает нормально. Затем я перекомпилировал против .NET 4, и мэйнфрейм больше не принимает файл с сообщением об ошибке, в котором говорится, что файл не существует или у меня нет прав на него.

Это то, что я использую для отправки файла:

Ftp = (FtpWebRequest)FtpWebRequest.Create(FtpAddress + "%2F'" + "EM.MOM.FIMSDATA" + ".AA." + "RR(+1)" + "'");

Microsoft изменила что-нибудь между .NET 3.5 и 4, потому что это указывает на изменение структуры?

1 Ответ

1 голос
/ 05 апреля 2013

Я нашел это в Microsoft.

Причиной этой проблемы является изменение поведения в Класс System.Net.FtpWebRequest в .Net Framework 4. Был изменение, внесенное в класс System.Net.FtpWebRequest из .Net Framework 3.5. .Net Framework 4 для упрощения использования команд протокола CWD. Новая реализация класса System.Net.FtpWebRequest предотвращает отправку дополнительных команд CWD перед выдачей фактического команда, которую пользователь запросил и вместо этого непосредственно отправляет запрошенная команда. Для полностью совместимых с RFC FTP-серверов это должно не будет проблемой, однако для не полностью RFC-совместимых серверов, вы будете увидеть эти типы ошибок.

Решение включено: http://support.microsoft.com/kb/2134299

...