ASP.NET Response.Filter does not call Write

2019-06-07 21:34发布

I have an ASP.NET http module that adds a Response Filter and does some changes to the outgoing HTML based on a regular expression. The other day I noticed it doesn't seem to be working correctly anymore. Upon inspection I noticed that the Write method never gets called.

I believe this started happening after we moved over to .NET 4.0 / IIS 7.5 (from 3.5 / IIS 6) and we now use Integrated mode.

The response filter gets added in the BeginRequest event of the IHttpModule...

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

I did see that the Response Filter's Flush and Close methods get called but my breakpoints in Write were never hit.

Anyone else experience this issue or have any insights on why this happens?

1条回答
放荡不羁爱自由
2楼-- · 2019-06-07 21:55

The http module section in the web.config has changed in iis 7 from iis6. It should be under System.WebServer instead of system.Web -> httpModules. Have you already made this change?

 <system.webServer>
       <modules>
             <add name="YourModuleName" type="YourNamespace.YourModuleClassName,YourAssemblyName"/>
    </modules>
查看更多
登录 后发表回答