2

ユーザーがアップロードしたファイルを処理する ASP.NET アプリケーションがあります。ブラウザが (マルチパート) POST リクエストを送信します。シンプルな HttpHandler があり、HttpRequest.Files を使用してアップロードされたファイルにアクセスします。Windows 2008 R2 の IIS7.5 で動作しています。

コレクションに含まれるファイルが 0 個であるというエラーが表示されることがあります。HttpRequest.InputStream を調べると、不完全な POST リクエストがあることがわかります。Content-Length ヘッダーは、実際よりも多くのデータが必要であることを示しています。

Fiddler を使用して再現することができます: - requestBody < Content-Length でリクエストを送信します。- アプリケーションは、HttpRequest.Params への最初の参照でハングします。- 接続を閉じてアプリケーションを再開する Fiddler を終了します。本体としての申請ロジックが未完成です(0ファイル)。

これは私たちが対処しなければならないシナリオであり、多くを行うことはできないと思います. 結局、ブラウザはいつでも接続を閉じる可能性があります。

IIS が不完全な POST 要求をアプリケーション層 (つまり、バッファ) に渡すのを防ぐスイッチがあるのではないかと思います。これにより、ApplicationLayer のエラー監視のノイズがいくらか解消されます。

ありがとう、ピョートル

4

1 に答える 1