Мое клиентское приложение Windows (написанное на C #) работает с удаленной базой данных MySQL, развернутой на * сервере NIX.
Я собираюсь добавить возможность хранить файлы на сервере. Я никогда не любил хранить файлы в БД, поэтому файлы будут храниться в файловой системе. Приложение должно загружать, скачивать и удалять файлы с сервера.
Любой подход, который я могу придумать, требует развертывания дополнительной службы на сервере.
Пока что мой фаворит - SFTP *, но есть и другие решения, которые уступают IMO:
Веб-сервис - есть ли? не проводил никаких исследований в этом направлении.
FTP-сервер - приносит как минимум все проблемы, связанные с самим протоколом
WebDAV - интересный вариант, учитывая наличие модуля Apache и библиотек .NET
Какой-то специальный скрипт (явно худшее решение)
* Я намерен использовать библиотеку SharpSSH и аутентификацию с открытым ключом для доступа к специальной учетной записи на сервере, которая будет ограничена только операциями SSH
Редактировать: исправлена путаница в некоторых терминах, благодаря @ vartec