0

Rebex の FTP コンポーネントを使用して、230 以上のファイルを FTPS サーバーにアップロードしようとしています。すべてのファイル TOTAL は 5MB のようです。したがって、それぞれが数KBです。次のコード行でファイルをアップロードします。

ftps.PutFiles(
    @"C:blablabla*.csv", 
    @"blablafolder/test", 
    FtpBatchTransferOptions.XCopy, 
    FtpActionOnExistingFiles.OverwriteAll);

でも2、3時間かかります。これが遅い理由を説明したり、これをより速く行う方法を提案したりできる人はいますか?

編集:

forループを実行し、SなしでPutFileを使用して各ファイルを挿入することで修正しました。これは機能しますが、180ファイルで停止し、今これを理解しようとしています。答えは大歓迎です

4

2 に答える 2

2

一般に、それは多くの原因によって引き起こされる可能性があります。ほとんどの場合、何が起こっているのかを知る最も簡単な方法は、通信ログを作成して詳細に調査することです。ここで説明されているように実行できます。ログファイルを送っていただければ、お手伝いできます。

フォーラムで Rebex 製品について質問することもできます。実際には、コンポーネント開発者自身によって毎営業日チェックされています。

ところで。FtpBatchTransferOptions.XCopyオプションは、ディレクトリ構造全体 (すべてのサブディレクトリを含む) をトラバースします。この機能が必要ない場合は、次の行を試してプロセス全体を高速化できます。

ftps.PutFiles(
    @"C:\blablabla\*.csv", 
    @"blablafolder/test", 
    FtpBatchTransferOptions.Default, 
    FtpActionOnExistingFiles.OverwriteAll);
于 2012-09-24T19:25:40.793 に答える
1
  1. 通常の ftp クライアントでアップロードしてみましたか?
  2. 帯域幅が (クライアント側とサーバー側の両方で) 制限要因ではないことを 100% 確信していますか?
  3. (つまり、より高い速度を達成できることを証明しましたか)?

http://winscp.net/eng/index.phpを試す

于 2012-09-24T11:31:41.123 に答える