2009-03-16 4 views
0

私は、IISの特定のWebサイトを経由してくるすべての要求に対して、個別の.Netコードのチャンクを実行したいと考えています。これは完全に分離されたコードです。要求の前または後には何の影響もありません。要求からの情報を記録し、終了します。IISへのすべての受信要求で任意のコードを実行するためにASP.Netフレームワークのどの部分を使用しますか?

これは、.NET以外のファイル(PDF、画像など)を実行するために必要なため、これはApplication_OnRequestBeginやその他のASP.Netファイルに入れることはできません。 .Netフレームワークにヒットしないリクエストに対しては、実行する必要があります。

私が探しているのはHTTPモジュールですか?私はRTFMをかなり使っていますが、パイプラインを操作する方法はいくつかありますが、どちらを使うべきかはわかりません。

答えて

3

HTTP Moduleを使用できますが、使用するにはすべての要求をwild card map.を使用してIISにマップする必要があります。これは、.NETランタイムを通してすべての要求を強制するため、パフォーマンスに影響を与えます。

独自のISAPIフィルタを作成することもできますが、C++を使用する必要があります。あなたは、あなたが必要とするワイルドカードマッピングをdoign場合

編集

ASP.Netは、デフォルトのハンドラを持っている、あなたはまだあなたの窓/ microsoft.net /フレームワークであなたのweb.configファイルでこれを持っていることを確認してください..../config/folder:

<httpHandlers> 
.... 
      <add path="*" verb="GET,HEAD,POST" type="System.Web.DefaultHttpHandler" validate="True"/> 
</httpHandlers> 

また、Webの設定ファイルでハンドラを削除した可能性があります。最後に、pdfファイルの明示的なマッピングを追加してみることもできます。

+0

ワイルドカードは問題ありませんが、コードが実行された後も、リクエストはそのままにしたいと思います。つまり、.NetがPDFファイルなどを解析しようとしているので、何も失敗することはありません。 – Deane

+0

私はあなたにこれを行う方法のリンクを見つけることができます。 – JoshBerke

関連する問題