1

私は最近、ASP.NET 用の独自の非同期ファイル アップロード コンポーネントを作成する試みに着手しました。Darren Johnstone の FileUpload プロジェクトから学んだ教訓を生かし、送信されたデータからファイルを抽出するための HttpModule を作成しました。

開発サーバーを使用してVS 2008でテストしたところ、すべてが正常に機能しました。ファイルのアップロードが開始される前に、モジュールによってリクエストが傍受されていることを確認するために、テスト中にもこれまで行ってきました。満足した後、プロジェクトを Web サーバー (Win 2008 w/IIS 7) にデプロイしました。展開時にコントロールが機能していないことを知ってぞっとしました。

いくつかのリモート デバッグの後、ファイルが完全にアップロードされるまで、HttpApplication.AuthenticateRequest イベント (プロセスにフックするための場所) が呼び出されないことがわかりました。

考えられるすべてをチェックしましたが、この動作の変化の理由を見つけることができませんでした。何か案は?

4

1 に答える 1

0

私の推測では、ASP.NET ランタイムはサーバー上の IIS ランタイムと統合モードで実行されていないため、ファイルのアップロードは、ASP.NET ランタイムに渡す前に IIS ホスト プロセスで完全にバッファリングする必要があります。

これは、データが完全にアップロードされるまでリクエスト パイプラインが起動しない理由を説明しています。

サーバーの構成を確認し、ASP.NET アプリケーションに対して統合モードが有効になっていることを確認してください。

于 2010-02-16T04:47:10.830 に答える