Подходы к управлению файлами на удаленном * NIX сервере из клиентских приложений Windows - PullRequest
1 голос
/ 13 марта 2009

Мое клиентское приложение Windows (написанное на C #) работает с удаленной базой данных MySQL, развернутой на * сервере NIX.

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

Любой подход, который я могу придумать, требует развертывания дополнительной службы на сервере. Пока что мой фаворит - SFTP *, но есть и другие решения, которые уступают IMO:

  1. Веб-сервис - есть ли? не проводил никаких исследований в этом направлении.

  2. FTP-сервер - приносит как минимум все проблемы, связанные с самим протоколом

  3. WebDAV - интересный вариант, учитывая наличие модуля Apache и библиотек .NET

  4. Какой-то специальный скрипт (явно худшее решение)

* Я намерен использовать библиотеку SharpSSH и аутентификацию с открытым ключом для доступа к специальной учетной записи на сервере, которая будет ограничена только операциями SSH

Редактировать: исправлена ​​путаница в некоторых терминах, благодаря @ vartec

Ответы [ 3 ]

1 голос
/ 14 марта 2009

Я бы использовал vsftpd на стороне * сервера NIX: он небольшой и простой в настройке, и у меня не было никаких проблем с ним, так как я изначально настроил его около 6 месяцев назад, так что это также надежный. Я просто использую обычный FTP, но вы можете использовать SSL с vsftpd, если вы беспокоитесь о безопасности.

На стороне клиента есть эта бесплатная клиентская библиотека FTP с открытым исходным кодом для C #, созданная Дэном на C-SharpCorner.com . Это работает, и его функциональность легко расширить, чтобы делать больше вещей. Например, я добавил функцию для изменения прав доступа к файлам на удаленном сервере.

1 голос
/ 13 марта 2009

SCP имеет довольно ограниченную функциональность. SFTP и FISH дают вам намного больше, чем обычный SCP. (обратите внимание, что SFTP не следует путать с FTPS )

Пример реализации SFTP C # .

Преимущество перед другими параметрами & mdash; дополнительная настройка на стороне сервера не требуется.

0 голосов
/ 14 марта 2009

Шпатлевка и Winscp - все, что вам нужно.

...