1

私の Windows クライアント アプリケーション (C# で記述) は、*NIX サーバーにデプロイされたリモート MySQL データベースで動作します。

サーバーにファイルを保存する機能を追加します。私はDBにファイルを保存するのが好きではなかったので、ファイルはファイルシステムに保存されます。アプリケーションは、サーバーからファイルをアップロード、ダウンロード、および削除する必要があります。

私が考えることができるアプローチでは、追加のサービスをサーバーにデプロイする必要があります。これまでのところ、私のお気に入りは 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-SharpCorner.comでDanによって作成されたC#用のこの無料のオープンソースFTPクライアントライブラリがあります。それは機能し、より多くのことを行うためにその機能を拡張するのは簡単です。たとえば、リモートサーバーのファイル権限を変更する機能を追加しました。

于 2009-03-14T20:35:03.083 に答える
1

SCP の機能はかなり制限されています。SFTPFISHは、単純な SCP よりも多くの機能を提供します。(SFTP をFTPSと混同しないでください)

SFTP C# 実装の例

他のオプションよりも優れています — サーバー側で追加の構成は必要ありません。

于 2009-03-13T12:43:31.470 に答える
0

必要なのはパテとwinscpだけです。

于 2009-03-14T20:38:54.417 に答える