MVC 4 catch all route nigdy nie dotarł

Przy próbie utworzenia przechwytywania całej trasy w MVC 4 (coś, co znalazłem na kilku przykładach i na podstawie mojego kodu) zwraca błąd 404. Używam tego na IIS 7.5. To wydaje się prostym rozwiązaniem, więc czego mi brakuje?

Jedna uwaga, jeśli przesunę trasę „CatchAll” powyżej trasy „Default”, to działa. Ale oczywiście żaden z pozostałych kontrolerów nigdy nie zostanie osiągnięty.

Oto kod:

Route.Config:

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );

        routes.MapRoute(
            "CatchAll",
            "{*dynamicRoute}",
            new { controller = "CatchAll", action = "ChoosePage" }
        );

Kontroler:

public class CatchAllController : Controller
{

    public ActionResult ChoosePage(string dynamicRoute)
    {
        ViewBag.Path = dynamicRoute;
        return View();
    }

}

questionAnswers(3)

yourAnswerToTheQuestion