Web サービスを使用して1 GBを転送する必要があります。msmqを使ってピース単位で転送しようと思います。もしかしたら、楽になれる方法があるのでは?
3 に答える
データを小さなチャンクに分割できる場合は、そうしてください。Web サービスは一度にそれほど多くのデータを転送するように設計されていないため、転送は可能ですが、でこぼこ道になるでしょう。
しかし、世界は効率的な方法で機能していないため、次のことを行います。
データをバイナリとしてローカル ファイルに書き込みます。2. streamreader を使用して Web サービスに書き込み、ファイルから読み取る streamwriter を作成します。3. 何かが発生した場合は、例外をキャッチして、ファイル ポインターの場所から再開を試みます。4. Web サービスを変更できる場合は、データを読み取ってバイナリ ファイルに書き込み、エラーをキャッチし、再開時に新しいデータをファイルの現在のポインターに書き込もうとします。
秘訣は、中断されたリクエストを再開しようとしていることをサービスに伝える方法を見つけることです。
これが明確でない場合は、さらに拡張してみます。
Webサービスを使用して1GBを転送する必要があります。msmqを使用して区分的に転送すると思います。
車で人を運びたいです。飛行機を使うことを考えています。
それを得る?WebサービスまたはMSMQのいずれか。それらは魔法のように混ざり合うことはありません。
つまり、Webサービス、alrgeデータ=悪い考えです。JSONでさえオーバーヘッドがあります。ストリーミング、非ストリーミング?これは多くのオープン変数であり、ほとんどの場合、ここのWebサービスは比較的意味がありません。
アップ(サービスに送信)またはダウン(サービスに)?その他の質問-Webサービスに1GBをアップロードしたくありません。
必要に応じて、データをスプライスし、APIを作成してすべての「パーツ」を要求してから、パーツごとに取得します。これにより、プログレスバーを表示することもできます。輸送中に発生する可能性のある障害が原因で、ソフトウェアが部品の再要求を処理する必要があります。
データがバイナリであり、少なくともダウンロードにはREST APIを使用する場合は、ここでWebサービスを使用しないことを真剣に検討します。アップロードの可能性もあります。多くは、あなたが求める方法さえ知らなかった、または説明することさえしなかったすべてのものに依存します。
最初に宛先の次の分割データにバッファを作成し、サービスを介して送信してからファイナライズするサービスを作成できます。