Поэтому я отмечаю это как ответ. Комментарии были оценены.

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

Сервер, отправляющий или получающий файлы, НЕ должен совпадать с сервером, к которому подключен канал управления FTP. Это может быть соединение типа «треугольник».

Это также позволяет клиенту один раз войти в систему на канале управления и многократно сообщать серверу о передаче файлов без повторной регистрации в канале управления.

По-видимому, эта концепция полностью избежала MS, когда они создали C #FtpWebRequest класс.

Мне нужно сделать именно то, для чего был разработан протокол FTP:

Подключиться к серверу

Передать в учетных данных

Создайте каталоги (и с радостью игнорируйте ошибку «уже существует»)

Повторно передавать файлы на сервер

Выйти из канала управления

Я уверен, что не вижу этой способности вFtpWebRequest класс. Или что-нибудь, что может позволить такой поток в коде C #.

Я посмотрел:

вhttps://social.msdn.microsoft.com/Forums/vstudio/en-US/9e14bc29-25bf-45ec-9303-1d8ffda2064d/c-ftp-send-multiple-files-log-in-only-once?forum= csharpgeneral

и вЗагрузить несколько файлов на FTP в C #

и другие.

Но ничто из этого, кажется, не позволяет контролировать то, что предполагалось.

Я могу указатьKeepAlive свойство, но цикл должен повторно вызыватьWebRequest.Create(targetName); функция, которая создаст НОВОЕ соединение и получит НОВЫЙ ответ. Затем они выпадают из сферы действия или становятся сиротами, поэтому по определению они уничтожаются. Поэтому соединение ДОЛЖНО быть закрыто, а затем его необходимо будет снова открыть. Для подключения к данным это нормально, но где возможность манипулировать портом CONTROL?

Класс не позволяет пользователю отличать порт CONTROL от порта DATA, как определяет спецификация FTP.

Есть ли способы использовать класс C #, чтобы сделать FTP так, как он должен был быть? Потому что в узком мышлении Microsoft весь мир выглядит как протокол HTTP Get / Response.

Любой совет приветствуется.

-Scotty

Ответы на вопрос(2)

Ваш ответ на вопрос