1

我的 Windows 客户端应用程序(用 C# 编写)与部署在 *NIX 服务器上的远程 MySQL 数据库一起工作。

我将添加在服务器上存储文件的功能。我从不喜欢将文件存储在数据库中,因此文件将存储在文件系统中。应用程序需要从服务器上传、下载和删除文件。

我能想到的任何方法都需要在服务器上部署额外的服务。到目前为止,我最喜欢的是 SFTP*,但还有其他 IMO 较差的解决方案:

  1. Web 服务 - 有吗?没有做过这方面的研究。

  2. FTP 服务器 - 至少带来与协议本身相关的所有问题

  3. WebDAV - 有趣的选项,考虑到有 Apache 模块和 .NET 库

  4. 一些临时脚本(显然是最糟糕的解决方案)

*我打算使用 SharpSSH 库和公钥认证来访问服务器上的特殊帐户,该帐户将仅限于 SSH 操作

编辑:纠正了一些术语混淆,感谢@vartec

4

3 回答 3

1

我会在 *NIX 服务器端使用vsftpd:它体积小且易于配置,而且自从我大约 6 个月前最初设置它以来,我没有遇到任何问题,因此它也很可靠。我只使用常规 FTP,但如果您担心安全性,可以使用 vsftpd 进行 SSL。

在客户端有这个免费的、开源的、C# 的 FTP 客户端库,由 Dan 在 C-SharpCorner.com 制作。它可以工作,并且很容易扩展它的功能来做更多的事情。例如,我添加了一个更改远程服务器上文件权限的功能。

于 2009-03-14T20:35:03.083 回答
1

SCP 的功能相当有限。SFTPFISH为您提供了比普通 SCP 更多的功能。(请注意,不应将 SFTP 与FTPS混淆)

SFTP C# 实现示例

优于其他选项 - 无需在服务器端进行额外配置。

于 2009-03-13T12:43:31.470 回答
0

putty 和 winscp 是你所需要的。

于 2009-03-14T20:38:54.417 回答