JS、画像やCSSはHttpModuleをによって傍受取得します
-
22-09-2019 - |
質問
私はいくつかのカスタムセッション状態管理を行うシンプルなHttpModuleをしています。
public void Init(HttpApplication context)
{
context.AcquireRequestState += new EventHandler(ProcessBeginRequest);
ActivityLogger.LogInfo( DateTime.UtcNow.ToLongTimeString() + " In Init " + HttpContext.Current.Request.Url.AbsoluteUri);
}
と
public void ProcessBeginRequest(object sender, EventArgs e)
{
HttpApplication application = sender as HttpApplication;
ActivityLogger.LogInfo(DateTime.UtcNow.ToLongTimeString() + " In ProcessBeginRequest ");
if (application != null)
{
string requestURL = application.Context.Request.Url.ToString();
ActivityLogger.LogInfo(DateTime.UtcNow.ToLongTimeString() + " In ProcessBeginRequest " + requestURL);
}
return;
}
私は、ブレークポイントでこのコードを実行したとき、私はこのモジュールでも、画像、JSやCSSなどの静的ファイルのために呼び出されてしまったことを見ました。誰もがこれを経験していますか?私は、HTTPモジュールが唯一のasp.netページのHTTPパイプラインのイベントに上フックた考えています。彼らはまた、静的リソースへのフックですか?それとも、カッシーニでそれですか?
環境:VS2008 - カッシーニサーバー
PS:私は(ちょっと新しい)私たちのサンドボックス内のWin2k8 IIS7でそれを試してみました、と(私たちはそこにVSを持っていないとして)ログファイルに書き込みしようとしましたが、ログファイルに書き込むことができませんでした。確かにそのいくつかの書き込みアクセス許可の問題です。どのようにW2K8でIIS7でASP.netを実行しているディレクトリのセット書き込み権限に私に語ったいくつかのリソースへのCAN誰ポイント私を
EDIT1:私は、統合されたパイプラインを使用すると、似たHTTP静的のためのパイプラインおよび管理対象リソースを拡張することを理解して http://aspnet.4guysfromrolla.com/articles/122408-1.aspxするそして、 http://learn.iis.net/page.aspx / 243 / ASPNET-統合と-IIS7 / の
私たちは、PRODで古典的なパイプラインを使用しています。しかし、まだ他の人が経験したものを知りたい。
Question2:統合モードでIIS7を使用して、それがパフォーマンスを低下させるのだろうか?あなたがパイプラインにフックモジュールのカップルを持っていると言う、どの程度のパフォーマンスへの影響でしょうか?いくつかのいずれかが、このために行わいくつかのベースライン調査に私を指すことができればいいだろう。
解決
ルックス、それを行う方法があるように
ます。http://learn.iis。ネット/ page.aspx / 121 / IIS-70-モジュール - 概要/#無効化する
トリックを行うだろうpreCondition="managedHandler"
と<modules runAllManagedModulesForAllRequests="false" />
を設定する
自己への注意: http://code.google.com/p/talifun-web/wiki/ StaticFileHandlerする このStaticFileHandler
を探求する必要性参照:
http://learn.iis.net/page.aspx/244/how-to-take-advantage-of-the-iis7-integrated-pipeline/する
の要求を管理します他のヒント
はい、それはファイルの任意のタイプのために呼び出されます。
これらのモジュールは、あなたが元のために興味を持っていませんどんなフィルタリングするには、それは、典型的なのです。 HttpContext.Request.Url.AbsolutePathは、SharePointの下で '/ _layouts' を含んでいるかどうかを確認します。
により、