我的 Windows 客户端应用程序(用 C# 编写)与部署在 *NIX 服务器上的远程 MySQL 数据库一起工作。
我将添加在服务器上存储文件的功能。我从来不喜欢在 DB 中存储文件,因此文件将存储在文件系统中。应用程序需要从服务器上传、下载和删除文件。
我能想到的任何方法都需要在服务器上部署额外的服务。 到目前为止,我最喜欢的是 SFTP*,但还有其他 IMO 次等的解决方案:
网络服务 - 有吗?没有做过这方面的研究。
FTP 服务器 - 至少带来与协议(protocol)本身相关的所有问题
WebDAV - 有趣的选项,考虑到有 Apache 模块和 .NET 库
一些临时脚本(显然是最糟糕的解决方案)
*我打算使用 SharpSSH 库和公钥身份验证来访问服务器上的特殊帐户,该帐户将仅限于 SSH 操作
编辑:纠正了一些术语混淆,感谢@vartec
最佳答案
SCP 的功能相当有限。 SFTP和 FISH给你比普通 SCP 多得多的东西。 (请注意,SFTP 不应与 FTPS 混淆)
Example of SFTP C# implementation .
相对于其他选项的优势——无需在服务器端进行额外配置。
关于c# - 从 Windows 客户端应用程序管理远程 *UNIX 服务器上的文件的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/642443/