Is there any reason why a route would be properly mapped in one environment and not another? I am deploying the exact same routing information from my local development server to a production server, and the routes are not being evaluated the same.
I have downloaded Phil Haack’s Routing Debugger, and it is confirming that the routes are matching locally, but not in production.
Has anyone ever experienced this?
UPDATE: I didn’t include many details above. The production server is IIS 6 on Windows Server 2003. All my routes were working except for one that I was using as a custom image handler. The route I specified was mapping to a URL that ended with “.png”
I found that this was the problem with IIS 6 since it was not handing off the “.png” request off to ASP.NET. I added a wildcard mapping to the site and that fixed the problem.
I apologize for not having put more details before. Hope this helps someone else.
There’s a couple of things at work. As you mentioned, IIS 6 doesn’t hand off requests that aren’t mapped to the ASPNET_ISAPI.dll. A wildcard mapping fixes that problem.
The other potential issue is that by default, routing doesn’t route files that exist on disk. So if you make a request for a physical .png file, it won’t get routed.