C# / VS2005 でプログラムを作成して、運用データベースをバックアップし、圧縮して、リモート サーバーに転送しています。リモートサーバーに簡単な ftp サイトをセットアップしました。
問題は、ファイルが約半分 (~500 - 600 MB) しか転送されず、プログラムが例外をスローすることです。
「既存の接続がリモート ホストによって強制的に閉じられました」
私が使用しているコードは、基本的にここから切り取って貼り付けたもので、Jaimon Mathew によってソケットを使用して書かれています。
http://www.csharphelp.com/archives/archive9.html
問題を調査しましたが、接続が閉じられないようにするためにできることはないようです。それを修正する唯一の方法は、ソケットの「非同期」メソッドを使用することです。
これを行うためのサンプル コードを検索してみましたが、見つけることができず、実行しようとしているこの単純なタスクが非常に困難であることが証明されているとは信じられません。
大きな(〜1.2 GB)ローカルファイルをリモートftpサイトに転送する簡単な方法はありますか?リモートホストによって接続が閉じられても失敗しない方法はありますか(再接続して転送を再開する必要があると思います) )?
私の上司は、私がこれにどれだけの時間を費やしたかを知ったら、私を殺すつもりです。リモート サーバーにはまだ前日のバックアップがありません。
.NET プログラム内からすべてを実行したいのですが (現在、私たちのシステムは巨大な Rube Goldberg マシンです)、迅速で簡単な解決策が必要です。
ありがとう、
スティーブ