asp.net - IIS7 HttpModule and ISAPI Filter execution order -


I have a custom HTML module along with a site that redirects both URLs and rewrite them.

In IIS 6, everything works fine: ISAPI will run the rewrite filter first, followed by the HTPP module. The sequence in IIS 7 (Integrated Mode) is now reverse, which is a problem.

My problem, in particular, is that there is a condition in the HTTP module where it is context .RewritePath . If no document has been provided, it will explicitly add "index.aspx", so a request for / test / is passed to /test/index.aspx Is written again.

At some point after executing the path, the ISAPI executes the rewrite filter. We have a rule that does the opposite of the module: Request for /test/index.aspx is requested to redirect 301- to / test / . Thus, we have an endless loop.

How is the execution order for fixed HTTP modules and ISAPI filters in IIS 7? What order can be changed? I found it, but it did not really help. I am not the master of IIS 7, but to a lesser extent I understand that modules and ISAPI filters run "together". Unfortunately, they are still administered in a different way and I can not understand how to run one before the other. help!

Note: Assume I can not change the existing code. It works in IIS 6. I just want to know that there is no way to work in IIS 7 unified mode.

I have such a problem where I thought that ISAPI is done before writing again, But apparently it is not how things work with IIS7

I have found this thread that

In the unified mode the basic modules, ISPI and NAT events Is called mixed together

For example if this is an initial request then the original module comes first, then the IP , Then the net code. After that everything will repeat AuthenticateRequest ...

It was done some time ago: ISPI has taken action on all the incidents, and then only the .net was implemented. Probably this is what you have assumed

Hope it helps

Comments