我有一个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);
我确实看到响应过滤器的 Flush 和 Close 方法被调用,但我在Write中的断点从未被命中。
其他人遇到此问题或对此为何会有任何见解?
答案 0 :(得分:1)
web.config中的http模块部分已从iis6更改为iis 7。它应该在System.WebServer下而不是system.Web - >的HttpModules。你有没有做过这个改变?
<system.webServer>
<modules>
<add name="YourModuleName" type="YourNamespace.YourModuleClassName,YourAssemblyName"/>
</modules>