2010-12-30 15 views
0

Ajaxリクエストを使用してHTTP本体にデータを渡しています。サーバー上のこれらのコンテンツは、Request.InputStreamを使用してアクセスできます。今私はそれをサーバーディスク上のファイルに非同期的に書きたいと思っています。どうやってするか ?HTTPリクエストコンテンツをファイルに非同期で書き込む方法は?

HTTPを使用して送信されたデータがもっと多い場合、私はサーバーアプリケーションが死んでも影響を受けないようにしたいと思います。だから私はそれを非同期的に書いてみたいです。

System.IO.Stream str; 
// Create a Stream object. 
str = Request.InputStream; 
// TO DO Write it to file asyncronously ... 
str.Write(someFile, 0, strLen); 

答えて

0

Stream.BeginWrite & Stream.EndWrite ...私が何をしようとしています何についての参照用のサンプルです続き

は見てのものです。 Try this MSDN link.

0

ストリームを読み取ることを制御できないことを前提としたアプローチがあります(つまり、何か他のことが起きていない、または起きていない、または完全に起きていないことを信じている場合は、仮想ストリーム '

使用するストリームを'ラップする 'クラスを作成し、そのストリームにすべての呼び出しを渡すと、独自のロジックをreadメソッドに渡すことができるため、ストリームのreadメソッド

これは、ストリームの読者がバッファを書き込むまで待機するので、これは100%非同期ではありません。これは、ストリームの読み込みと呼ばれ、ストリームへの書き込みを行います。 urファイルを読み込みますが、ストリーム全体を読み込み、シーク不可能なストリームでうまく動作するまで読み込みを強制することはありません。

は私が書いたのBizTalk関連をBizTalkを無視して満足している場合は、完全なソースコードと、この上 whitepaperは、ストリームの実装を詳細にそこに議論されているビット

0

何がファイルである一方でやりたいです書かれている?何か間違っていると言われます。適切なHTTPサーバーはすべてマルチスレッド化されています。したがって、リクエストの実行時間に関係なく、他のリクエストも同時に処理できます。

関連する問題