2016-07-26 7 views
0

ブログストレージコンテナに大きなファイルをいくつか保存しています。Azure BlobStorageストリームがファイルを閉じています> 25 MB

その後、WebJob(Azureでも)を使用して、CloudBlockBlob.OpenRead()を使用してこれらのブロブのそれぞれからStreamを取得しました。

ストリームを開いて読み込みます。 。 問題は、ファイルが25メガバイトおよそ10mlの液体フッ化水素を圧入よりも大きい場合には、ある程度の時間がOK読んだ後、それは(リード時)この例外をスローすることです:

未処理の例外:System.Net.Http.HttpRequestException:エラー コンテンツをストリームにコピーします。 ---> System.ObjectDisposedException: クローズドストリームにアクセスできません。 System.Net.Http.StreamToStreamCopy.StartAsync()でSystem.IO.MemoryStream.get_Position()でSystem.IO .__ Error.StreamIsClosed() で

ファイルが他に閉じられているようです側!

どうしてですか?タイムアウトはありますか?このような状況にどう対処することができますか?

答えて

1

接続速度によっては、応答がタイムアウトする可能性があります。これは、ファイルがの場合、約25MBであるという声明を支持するでしょう。解決するためにServerTimeoutおよび/またはMaximumExecutionTimeBlobRequestOptionsを使用して増やしてください。

+0

ファイルをダウンロードするのではなく、cloudBlobBlock.OpenRead()を使用してストリームを開くことです。これは要件によるものです。 – SuperJMN

+1

BlobRequestOptions ServerTimeoutとMaximum execution timeを設定しようとしましたか? https://msdn.microsoft.com/en-us/library/microsoft.windowsazure.storage.blob.blobrequestoptions_members(v=azure.10).aspx –

+0

そして、使用しているコードを投稿してください。 –

0

これらのオプションを使用してOpenRead()メソッドを呼び出すと、タイムアウトしなくなったようです。

関連する問題