1

リクエストを処理するハンドラーを特定することを検討しています。リクエストが静的リソース (css、js、または画像ファイル) を要求しているかどうかを知りたいです。PreRequestHandlerExecute イベントで HttpContext.Request を調べると、ハンドラー変数と currentHandler 変数が静的リソースに対して null であり、他のカスタム ハンドラーまたは aspx ページに対してハンドラー変数と currentHandler 変数があることがわかります。

私の質問は: リクエストを処理するハンドラーを変えるのに適した場所ですか? system.web/httpHandlers から取得してハンドラー ファイルの拡張子を識別したくありません。そして、すべてのサーバーの構成を変更する Microsoft.Web.Administration 名前空間の原因を使用したくありません。

4

1 に答える 1

1

どのように解決したかを更新するのを忘れていました。私は実際に、PostMapRequestHandler イベントでカスタム ハンドラーからネイティブを defer します。リクエストがハンドラよりもネイティブ ハンドラによって処理される場合、HttpContext.Request の currentHandler 変数は null になります。また、runAllManagedModulesForAllRequests を false に設定すると、ネイティブ ハンドラーによって処理されるリクエストは PostMapRequestHandler イベントを発生させます。これが誰かに役立つことを願っています。

于 2013-04-26T13:16:21.437 に答える