Prior ASP.NET 4.0, the only way to handle extensionless URLs was setting runAllManagedModulesForAllRequests=”true” (IIS 7 integrated mode) or mapping a wildcard (IIS 6 and IIS 7 in classic mode). That impacts the performance of static requests (HTML, JPG, GIF, CSS, JS, etc), because a all requests are handled by ASP.NET and runs application pipeline with all attached modules.
ASP.NET v4.0 provides a better way to enable extensionless URLs routing.
There is a new feature that allows extensionless URLs to be directed into managed code, without a wildcard mapping or setting runAllManagedModulesForAllRequests=”true”.
Because of this feature all static resources requests are not longer handled by ASP.NET, and consequentially, they are no longer suffered by performance impact.