3

BLOB を Azure Blob Storage に非同期でアップロードしています。CloudBlockBlob.BeginUploadFromStream を使用するか、BackgroundWorker で同期 Upload メソッド (UploadFile や PutBlock など) を呼び出すことができます。どちらのアプローチの長所と短所についても意見を求めています。

私はボールを転がします。BackgroundWorker アプローチを使用すると、進行状況を報告する方がはるかに簡単に見えます。

ありがとう!

4

3 に答える 3

3

BeginUploadFromStreamは、I / Oの発生中にCPUリソースを消費しない非同期プログラミングモデルを使用するため、より効率的になります。BackgroundWorkerを起動し、APM以外のメソッドのいずれかを呼び出すと、ディスクからの読み取りやネットワークへの書き込みなどが行われている間に、本質的にそのスレッドが無駄になります。

.NETでは、効率を最大化するために利用可能な場合、ほとんどの場合、APMモデルを使用する必要があります。

于 2010-12-02T04:14:40.850 に答える
2

noir の投稿からまだ多くのブログ ヒットがあるため、この古い質問を更新しています。Azure ストレージ クライアント ライブラリ 2.0 の *FromStream メソッドを使用した新しいバージョンのブログ投稿があることに注意してください。この新しいコードは、パフォーマンスと信頼性が向上し、進行状況のすべてのレポートを引き続き提供します。

進行状況変更通知 2.0 を使用した非同期並列ブロック BLOB 転送

于 2013-03-06T21:29:23.267 に答える
1

こちらの記事をご覧ください。

ブロックの並列アップロードを使用して BLOB をアップロードする方法と、BLOB 自体の進行状況と並列アップロードを報告する方法について説明します。

また、並行ブロックアップロードを行いたくない場合に役立つこの素晴らしい記事へのリンクもあります。

于 2011-10-02T09:49:14.790 に答える