I am trying to understand how the routing engine works so I put a break to inspect the routes variable. Since we only have one .MapRoute I expected 1 route to exist but I found 2. I discovered the IgnoreRoute has added a special route to the collection.

1. {System.Web.Mvc.RouteCollectionExtensions.IgnoreRouteInternal} and
2. {System.Web.Routing.Route}
I wanted to inspect the properties of IgnoreRouteInternal class just like the Route class but it’s like that class does not exist. Typing System.Web.Routing and pressing dot, I could see the Route class but not doing the same for System.Web.Mvc.RouteCollectionExtensions the IgnoreRouteInternal could not be found in the dropdown.
What special class is the IgnoreRouteInternal? and where is it?
Its a internal class to MVC. It is not public to other assemblies.
Actually its a private class inside of RouteCollectionExtensions, which has the same effect as an internal class.
You can view its source on codeplex.