views:

1979

answers:

3

We are using the Intelligencia URLRewriting module for asp.net with version 2.0 of the framework and IIS6. Our URLs typically have no extension.

I understand that IIS6 cannot really deal with this situation without a blanket wildcard (which causes other problems).

However, it works! Sometimes. At other times (e.g. on one dev's machine, and on my machine when I point a different virtual directory at the app) it doesn't. By "it doesn't work" I mean the configured HttpModules never even get hit.

Can anyone explain this?

Thanks.

+1  A: 

If you run a site using the Visual Studio development web server all requests will be handled by asp.net so your HttpModule will run.

On IIS6 this should not happen unless it is set up to forward the requests to asp.net.

Rune Grimstad
We're using IIS6 in all cases.
Gaz
+1  A: 

Are you sure that when "it works" you aren't running under the Cassini development web server included in VS.NET ? Because extensionless wildcards do work under Cassini, which can be very confusing to say the least.

andynormancx
Yep. No devs use Cassini. It works on various test servers which are deployed to in the same way as our live website. Because of this black magic mystery we are probably going to switch to an ISAPI filter instead but I would be interested to find out what is actually going on.
Gaz
I should have seen your other response. I guess I was just too keen to post about the Cassini possibility. Moving from Cassini to IIS6 and finding this doesn't work was one of my biggest "doh" moments ever.
andynormancx
+1  A: 

So it turns out what was happening was the following:

I guess this could prove to be a useful kludge for someone, but we're moving to an isapi filter. One heads-up is that this will by default lead to a tight loop of redirects!

Gaz