c# - 从 Windows 客户端应用程序管理远程 *UNIX 服务器上的文件的方法

标签 c# mysql web-services ssh webdav

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

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

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

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

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

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

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

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

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

最佳答案

SCP 的功能相当有限。 SFTPFISH给你比普通 SCP 多得多的东西。 (请注意,SFTP 不应与 FTPS 混淆)

Example of SFTP C# implementation .

相对于其他选项的优势——无需在服务器端进行额外配置。

关于c# - 从 Windows 客户端应用程序管理远程 *UNIX 服务器上的文件的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/642443/

相关文章:

C#:比组合 StartsWith 和两个 ToUpperInvariant 调用更好的方法

c# - 建立和使用Scintilla.NET的问题

c# - 测试响应式(Reactive)异步代码的策略

mysql - SQL Left/Inner/Normal Join vs Where while 条件语句

PHP:防止项目被多次显示

java - 从 URL 中检索编码值

c# - 亚马逊 MWS ListOrderItems 节流问题

java - MySQL POLYGON ←→ JTS Polygon with JOOQ (as WKT)

ios - 警报 View 需要很长时间才能弹出

java - 更改 SOAP 服务 (JAX-WS/METRO) 中的 Bean 表示