0

ユーザーがasp.net Webフォームからサーバーにデータを投稿するときに発生する正確なプロセスを処理しようとしています。ポストバックが開始される前にファイルのアップロードが常に完了するか、またはリクエストの終了が完了する前に一部の処理が終了する可能性があります。

この質問の一部として、コードで何が起こっているかについて少なくともある程度の知識が必要であり、ファイルが完全にアップロードされていませんか?

4

1 に答える 1

1

アップロード時間を推定して進行状況を表示できる Web アプリは、通常、クライアント上で実行されてアップロードを行うサードパーティのプラグイン (フラッシュ アップローダー、Silverlight アップローダー、Java プラグイン、activeX コントロールなど) を使用しています。これらは通常、非同期ポストバックを実行し、サーバーへの独自のネットワーク接続を管理します。ただし、通常、アップロードの進行状況や速度などを決定しているのはクライアント側のコードです。

HTML 入力コントロールによるファイル アップロードの標準 HTTP サポートは、あまりインテリジェントではありません。そのため、asp.net FileUpload コントロール (HTML 入力タグをブラウザーにレンダリングするだけ) を使用している場合、ファイルのアップロード全体が完了するまで、ページのコード ビハインドからの要求を取得するのに苦労します。

でも; 完全なファイルがアップロードされる前に、HttpModule でリクエストをインターセプトできます。asp.net ライフサイクルの初期のイベントのいくつかは、ファイルのアップロードが完了する前に発生しますが、正直なところ、残りの投稿データを待つ前に、リクエストがどこまで到達するか正確にはわかりません。ただし、BeginRequest が呼び出されることは知っています (ファイルのアップロード用にコードをここに接続したことがあります)。

はい、ここでいくつかの作業を行うことができますが、その時点では受信リクエストの内容に関する情報は非常に限られています。

于 2009-12-10T10:38:07.380 に答える