Kur*_*ler 6 asp.net iis-7 httpmodule isapi
我有一个使用ISAPI Rewrite的站点以及一个自定义的HttpModule,它们都进行了Url重定向和重写.
在IIS 6中,一切正常:首先运行ISAPI Rewrite过滤器,然后运行HttpModule.在IIS 7(集成模式)中,顺序现在是相反的,这会产生问题.
我的问题,特别是,HttpModule有一个条件,它会发出一个Url重写使用context.RewritePath.如果没有提供文档,它将显式地向路径添加"index.aspx",因此请求/test/被重写为/test/index.aspx.
在重写路径之后的某个时刻,执行ISAPI重写过滤器.我们有一个与模块相反的规则:/test/index.aspx获取301重定向的请求/test/.因此,我们有一个无限循环.
如何在IIS 7中确定HttpModules和ISAPI过滤器的执行顺序?订单可以更改吗?我发现了这个问题,但它并没有真正帮助.我不是IIS 7的主人,但我确实在某种程度上理解模块和ISAPI过滤器"一起"运行.不幸的是,他们的管理方式不同,我无法弄清楚如何强迫一个人跑到另一个人面前.救命!
注意:我们假设我无法更改现有代码.它在IIS 6中有效.我只想知道是否有办法使其在IIS 7集成模式下工作.
请查看以下解释IIS 7 管道的文章。管道的顺序无法更改。不确定这是否是一个选项,但您可能会用IIS URL 重写模块替换 ISAPI 重写。这可能允许您的应用程序在集成管道模式下运行,否则,您可能需要将应用程序池切换为在经典模式下运行。
| 归档时间: |
|
| 查看次数: |
7685 次 |
| 最近记录: |