1

我有一个 ASP.NET http 模块,它添加了一个响应过滤器并根据正则表达式对传出的 HTML 进行了一些更改。前几天我注意到它似乎不再正常工作了。经过检查,我注意到Write方法永远不会被调用。

我相信这在我们迁移到 .NET 4.0 / IIS 7.5(从 3.5 / IIS 6)之后开始发生,我们现在使用集成模式。

响应过滤器被添加到 IHttpModule 的 BeginRequest 事件中......

context.Response.Filter = new FormActionFilter(context.Response.Filter);

我确实看到响应过滤器的FlushClose方法被调用,但我在 Write 中的断点从未被命中。

还有其他人遇到过这个问题,或者对为什么会发生这种情况有任何见解吗?

4

1 回答 1

1

iis 7 中 web.config 中的 http 模块部分已从 iis6 更改。它应该在 System.WebServer 而不是 system.Web -> httpModules 下。您是否已经进行了此更改?

 <system.webServer>
       <modules>
             <add name="YourModuleName" type="YourNamespace.YourModuleClassName,YourAssemblyName"/>
    </modules>
于 2011-07-18T20:03:02.510 回答