2009-10-22 5 views
0

Je continue à recevoir des erreurs comme ceci après que mes pages aient été rafraichies.Problème de routage ASP.NET MVC?

Impossible de trouver le contrôleur pour le chemin '/S43G/S4_Manager/WebResource.axd' ou il n'implémente pas IController.

mais j'obtiens l'erreur pour tout fichier qui n'existe pas sur mon disque dur. indépendamment de l'extension (.png, .css, etc)

J'ai essayé tous les éléments suivants pour le réparer, et je suis perplexe.

routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
routes.IgnoreRoute("{resource}.axd"); 
routes.IgnoreRoute("WebResource.axd"); 

routes.MapRoute(
"Default",            // Route name 
"{controller}/{action}/{id}",       // URL with parameters 
new { controller = "Home", action = "Index", id = "" }, // Parameter defaults 
new { controller = @"[^\.]*" } 
      ); 

Toutes les idées que je dois mettre dans mon cheminement pour l'empêcher de lancer des exceptions à chaque fois un fichier n'existe pas.

en ignorant celles qui permettent de corriger le problème WebResoruce.axd, car WebResoruce.axd n'est pas censé exister.

Merci,

Eric =

Répondre

0

Je pense que ma réponse here donne une solution à votre problème, il suffit de sélectionner tous les urls et utiliser une contrainte pour vérifier si le type de fichier est .axd.

Ensuite, tout ce dont vous avez besoin est la suivante pour traiter 404 demandes après tous les autres MapRoutes():

routes.MapRoute(
      "Error404CatchAll", // Route name 
      "{*url}", // URL with parameters 
      new { controller = "Error", action = "Http404" } // Parameter defaults 
      );