18

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

4

4 回答 4

39

我尝试进行心理调试:您正在使用如下语句:

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

如果确实是这种情况,则如下所示进行更改将解决该问题:

Response.AddHeader("X-Foo", "bar")
于 2008-10-09T10:02:27.267 回答
7

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

II6 使用 IIS7 所称的经典管道,只有在早期基于 ISAPI 的管道确定脚本映射需要将请求移交给 ASP.NET 时,HttpModules 才能参与其中。

于 2008-10-09T09:48:36.077 回答
6

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

于 2010-05-17T21:09:52.990 回答
0

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

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

  • Response.AddHeader()
  • Response.ClearHeaders() (就我而言!)
于 2014-01-14T10:16:19.983 回答