WebResource.axD要求が空の理由を診断する
-
17-09-2020 - |
質問
WebResource.axdへの1つの特定のWebアプリケーション要求に対して完全に空のページを返していることがわかります。 (新しいブラウザウィンドウへのリンクをコピーして貼り付けて、完全な空の応答文書になります)
webresource.axdの要求が成功したことを示すログ(HTTPステータスコード200)
申請自体は複雑であるため、アプリケーションがこれを引き起こしていることがあることがあることがある可能性が高いようです、しかし私は何を知りません。
これらの要求が失敗している理由を解決するために取ることができます。
これまで試したこと:
- 同じディレクトリを指すIISで新しい仮想ディレクトリを作成すると同じ結果が得られます(空のwebresource.axd文書)
- 完全に新しいindepdentの空白ページを作成し、このディレクトリに配置すると同じ結果が得られます。
- IISで新しい仮想ディレクトリを作成すると、空白のページは予想通りに機能します。
- web.configファイルを交換する作業/壊れたディレクトリの間のweb.configファイルは、影響がないようです。
これはIIS 5.1
を実行しているWindows XPマシン上にあります。解決
問題は、Global.AsaxでApplication_PreRequestHandlerExecute
メソッドに適用していたHttpresponseフィルタであることがわかりました。フィルタがWebResouce.axDの変更なしのコンテンツを残されていても、すべての要求に一般的にフィルタを適用していましたが、これはまだ問題を引き起こしました。
次のリンクは私を助け、これをより詳細に説明しました:
- Httpresponse Filterは何もない
-
http://daniel-richardson.blogspot.com/2008/11/how-to-apply-filter-to-content-returned.html
解決策は、WebResouce.axdのフィルタの適用をスキップすることでした。
他のヒント
Visual Studio 2013プレビューを使用している場合は、これは既知の問題です。
ipplication_prerequestHandlexecuteを使用していませんでしたが、Application_BeginRequestにOutputFilterStreamを追加しました。これにより、WebResource.AXDレスポンスがステータスコード200で戻ってきたが空の応答と同じ問題が発生しました。