Pourquoi est-ce que je reçois 404 quand l'itinéraire correspond? ASP.Net MVC

J'ai été coincé sur ce problème depuis plusieurs heures maintenant.

J'ai un contrôleur appelé "DecisionPoint' et j'ai un point d'arrêt défini sur 'ApplicationState' action. Peu importe ce que j'essaie, je reçois une erreur 404 dans le navigateur. Je me doutais bien que ma route n'était pas correcte, j'ai donc téléchargé un itinéraire débogueur et il s'est nos les Url, je suis en train de match le Contrôleur et l'action. Alors, pourquoi ne j'obtiens une erreur 404 et de ne jamais voir le point d'arrêt est atteint?

/DecisionPoint/ApplicationState/non/worky --> 404

Contrôleur:

 public ActionResult ApplicationState(string fileName, string stateString)
        {
            string filePath = GetDpFilePath(fileName);
            HtmlDocument htmlDocument = new HtmlDocument();
            htmlDocument.Load(filePath);
            HtmlNode stateScriptNode =
                htmlDocument.DocumentNode.SelectSingleNode("/html/head/script[@id ='applicationState']");
            stateScriptNode.InnerHtml = "var applicationStateJSON =" + stateString;
            htmlDocument.Save(filePath);

            return Json("State Updated");

Route

 routes.MapRoute(
        "DecisionPointState", //Route name
        "DecisionPoint/ApplicationState/{fileName}/{stateString}", //URL with parameters
        new {controller = "DecisionPoint", action = "ApplicationState"} //Parameter defaults
    );


        routes.MapRoute(
            "Default", //Route name
            "{controller}/{action}/{id}", //URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } //Parameter defaults
        );


        }`
**Update**

J'ai créer un tout nouveau contrôleur et il fonctionne. C'est maintenant que ma table de routage ressemble. Le contrôleur d'état correctement des itinéraires de SaveState

 public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
           "StateRoute", //Route name
           "State/SaveState/{file}/{state}", //URL with parameters
           new { controller = "State", action = "SaveState", file = UrlParameter.Optional, state = UrlParameter.Optional } //Parameter defaults
       );

        routes.MapRoute(
           "DPStateRoute", //Route name
           "DecisionPoint/ApplicationState/{file}/{state}", //URL with parameters
           new { controller = "DecisionPoint", action = "ApplicationState", file = UrlParameter.Optional, state = UrlParameter.Optional } //Parameter defaults
       );


        routes.MapRoute(
            "Default", //Route name
            "{controller}/{action}/{id}", //URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } //Parameter defaults
        );
    }

    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();

        RegisterRoutes(RouteTable.Routes);
       //RouteDebug.RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes);

    }
}

Donc je suis perplexe..

source d'informationauteur Nick