日期:2014-05-18  浏览次数:20467 次

IIS7集成模式下Modules问题
我用VS2010搭建了一个测试站点,使用IIS7集成模式,Web.config的System.webServer -> Modules中配置了HttpModule处理所有的请求,这个HttpModule 中有三个事件:BeginRequest, PostRequestHandlerExecute, EndRequest。

页面方面只用默认的default.aspx, 在IIS的默认页面中也有default.aspx.

以上是我的网站配置,我的问题是:
直接访问 http://mysite.com/default.aspx 时,HttpModule 被访问了一次,这是正常的。

在访问http://mysite.com/时, HttpModule被访问了3次,也就是说BeginRequest, EndRequest 各访问了三次, 但PostRequestHandleExecute 是2次。

在IIS上配置URL重写(/ -> /default.aspx)后再访问http://mysite.com/, HttpModule被访问了2次。

我想达到的效果是:在访问http://mysite.com/时只在HttpModule模块中处理其中一次,其他的不需要处理。




------解决方案--------------------
http://www.cnblogs.com/zjwei55/archive/2011/09/01/2162478.html

先看他们的机制吧!!!
------解决方案--------------------
那你就换回经典模式
------解决方案--------------------
你可以创建应用程序池,单独设置某一个网站为经典模式