現時点では、属性runAllManagedModulesForAllRequests="true"
が設定されているため、すべてのリクエストに対してモジュールが実行されています。が含まれていると思いますSessionStateModule
。
PostAcquireRequestState
カスタム モジュールの 1 つでイベント ハンドラーのセッション オブジェクトにアクセスしようとすると、HttpContext.Current.Session
が null の場合HttpApplication.Context.CurrentHandler
は null になり (例: JS/CSS ファイルの場合)、ハンドラーが null の場合は null ではありませんMvcHandler
(管理されたハンドラーだと思います)。
私はSessionStateModule
ILSpy のコードを調べてきましたが、そのリクエストのセッションをスキップする決定をどこで行っているかを見つけることができませんでした。
私は探していましたが、%windir%\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
についての言及はありません。そのフォルダには次のものが見つかりました。SessionStateModule
Web.config
<add name="Session" type="System.Web.SessionState.SessionStateModule" />
したがって、 のような前提条件は使用していませんmanagedHandler
。
SessionStateModule
属性runAllManagedModulesForAllRequests
が設定されている場合でも、管理されていないリソースのリクエストがスキップされる理由を知っている人はいますか?
乾杯。