10
votes

Comprendre le routage dans global.asax (ASP.NET-MVC)

dans global.asax Que signifie ce qui suit signifie?

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


0 commentaires

4 Réponses :


0
votes

Il indique au moteur de routage pour ignorer cette requête et laissez-la aux formes Web ASP.NET pour gérer les objets.

Ceci est utile, par exemple, la journalisation Elmah qui utilise le gestionnaire Elmah.axd.


0 commentaires

2
votes

Sans cet ASP.NET tenterait de cartographier toutes les demandes de gestionnaires d'AXD aux contrôleurs et aux actions. Avoir l'ignoreroute signifie que l'URL ne fera pas la mapper l'URL sur un contrôleur selon le comportement par défaut.


0 commentaires

3
votes

Un fichier .axd est un fichier virtuel qui est géré par un gestionnaire HTTP. Ils sont utilisés pour (entre autres choses) offrant diverses ressources à la page Web, telle que le JavaScript généré automatiquement pour les contrôles AJAX et similaires.

Comme ce sont des fichiers virtuels, vous ne souhaitez pas que le moteur de routage tente de mapper ces demandes aux contrôleurs. Vous avez besoin d'eux pour être exécuté directement par ASP.NET.

C'est ce que la ligne atteint.


0 commentaires

11
votes

C'est l'une des choses vraiment frustrantes sur l'apprentissage MVC - la documentation de cette fonctionnalité est affreuse - il n'y a presque rien de là: http://msdn.microsoft.com/en-us/library/dd470170 (vs.100) .aspx .

//ignore all WebForms .aspx/.asmx/.ashx calls anywhere
routes.IgnoreRoute( "{*allaspx}", new { allaspx = @".*\.as[pmh]x(/.*)?" } );


0 commentaires