2009-03-13 5 views
1

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

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

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

  1. Web Service - есть ли? не проводили исследований в этом направлении.

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

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

  4. Некоторые одноранговой сценарий (ясно худшее решение)

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

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

ответ

1

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

Example of SFTP C# implementation.

Преимущество над другими вариантами — не требуется дополнительная конфигурация на стороне сервера.

+0

Благодарим за исправление, у меня на самом деле был SFTP, который SharpSSH, безусловно, поддерживает, и это бесплатно :) – dolzenko

+0

Что касается конфигурации сервера - я думаю, что возиться с учетными записями пользователей, частные/открытые ключи на сервере/клиенте не так много проще, чем настроить WebDAV или некоторые веб-службы – dolzenko

+0

@dolzenko True. Я предположил, что у вас уже есть учетные записи. Если нет, WebDAV может быть хорошим вариантом. – vartec

1

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

На стороне клиента есть free, open source, FTP Client Library for C# made by Dan at C-SharpCorner.com. Он работает, и его легко расширить, чтобы делать больше вещей. Например, я добавил функцию для изменения прав доступа к файлу на удаленном сервере.

0

шпатлевка и winscp - это все, что вам нужно.

 Смежные вопросы

  • Нет связанных вопросов^_^