关于会话等的httpmodule问题

时间:2011-10-27 23:36:08

标签: c# session iis-7 .net-4.0 httpmodule

我在我的asp.net Web应用程序中设置了一个httpmodule,iis7,.net 4.0等。我有2个问题需要解决。

从调试httpmodule,我发现模块被调用ScriptResource.axd即。它在调用时运行。有什么方法可以阻止这种情况或“关掉它”吗?我想让我的某些httphandlers,.asmx服务和aspx页面请求运行模块,但不要为scriptresource处理程序调用开销。

Secondling,是HttpModules中可用的会话状态,如果是,它可以在哪些事件中使用?

1 个答案:

答案 0 :(得分:1)

如前所述,HttpModules已针对应用程序中的所有请求启用,因此您唯一能做的就是检查HttpModule中的传入URL,然后根据该操作确定要采取的操作

会话状态在AcquireRequestState事件期间加载,因此最早从HttpModule检查它的机会是PostAcquireRequestState事件。会话状态在ReleaseRequestState事件被引发时保持不变,因此您应该在该点之前对会话进行任何更改。因此,您可以在这两个事件之间HttpApplication pipeline期间的任何时间访问会话状态