我在我的asp.net Web应用程序中设置了一个httpmodule,iis7,.net 4.0等。我有2个问题需要解决。
从调试httpmodule,我发现模块被调用ScriptResource.axd即。它在调用时运行。有什么方法可以阻止这种情况或“关掉它”吗?我想让我的某些httphandlers,.asmx服务和aspx页面请求运行模块,但不要为scriptresource处理程序调用开销。
Secondling,是HttpModules中可用的会话状态,如果是,它可以在哪些事件中使用?
答案 0 :(得分:1)
如前所述,HttpModules
已针对应用程序中的所有请求启用,因此您唯一能做的就是检查HttpModule
中的传入URL,然后根据该操作确定要采取的操作
会话状态在AcquireRequestState
事件期间加载,因此最早从HttpModule
检查它的机会是PostAcquireRequestState
事件。会话状态在ReleaseRequestState
事件被引发时保持不变,因此您应该在该点之前对会话进行任何更改。因此,您可以在这两个事件之间HttpApplication pipeline期间的任何时间访问会话状态