IIS6 + HttpModule:此操作需要IIS集成管道模式

时间:2008-10-09 09:39:45

标签: iis-6 httpmodule

我正在使用IIS6,我写了一个HttpModule,我收到此错误?在谷歌搜索网络后,我发现这个问题是由.NET framework 3.5引起的,所以我把它放在我没有安装.NET 3.5的机器上,但问题仍然存在!

4 个答案:

答案 0 :(得分:39)

我尝试进行通灵调试:你使用的语句如下:

Response.Headers("X-Foo") = "bar"

如果情况确实如此,如下所示更改此问题将解决此问题:

Response.AddHeader("X-Foo", "bar")

答案 1 :(得分:7)

只有IIS7支持集成管道。在IIS7上,HttpModule可以参与所有进入Web服务器的请求,而不仅仅是那些针对特定文件扩展名的请求。

II6使用IIS7调用经典管道的地方,一旦早期的基于ISAPI的管道确定脚本映射需要将请求移交给ASP.NET,HttpModules才能参与其中。

答案 2 :(得分:6)

刚遇到这个问题。使用IIS6和.NET 3.5。对我而言,修复是使用Response.AddHeader而不是Response.Headers.Add。 HTH。

答案 3 :(得分:0)

受到其他答案的启发,我发现它正在访问导致“操作需要IIS集成管道模式”异常的Response.Headers 对象

避免.Headers并调用其他(较旧的?)辅助函数,如:

  • Response.AddHeader()
  • Response.ClearHeaders()(在我的情况下!)