2010-02-22 8 views
1

Existe-t-il des problèmes de performances lors de l'enregistrement d'un certain nombre de routes avec le moteur de routage dans ASP.NET MVC 2? Ce que je prévois de faire est enregistré un itinéraire par page pour les pages de contenu qui ne sont pas des catégories. En d'autres termes, pour les pages comme celui-ci il y aurait un itinéraire enregistré pour chacun:ASP.NET MVC et les performances de routage?

  • /Accueil/A propos
  • /Accueil/Contactez
  • /Accueil/Directions
  • /Accueil/nions Notre personnel

Bien qu'il existe un certain nombre de ces pages, elles ne sont pas des centaines. Avoir une route explicite est utile car le troisième paramètre de RoutCollection.MapRoute est "object defaults" et il peut être utilisé pour contenir des informations backend liées à l'URL. Une alternative consiste à laisser les requêtes pour ces URL passer à une route par défaut qui effectuerait certaines recherches en fonction de l'URL (pour obtenir les mêmes informations que celles stockées via "object defaults"), puis suivre le même chemin de code vers affiche la page. Je préfère la première option car je pense qu'elle est plus propre que l'analyse syntaxique de l'URL et qu'elle présente des avantages en termes de performances en raison des "valeurs par défaut des objets".

+1

j'ai posé la même question en réponse à l'un des messages de blog de Phil Haack: http://haacked.com/archive/2010/02/21/manipulating-action-method-parameters.aspx#feedback Après En réfléchissant à cela, j'ai décidé de mettre en place des chemins catchall pour les sections, mais pas de définir un itinéraire pour chaque page statique. – Cymen

Répondre

1

Je ne connais aucun problème de performance. Le routage d'URL est conçu pour gérer un grand nombre de routes et je suis certain que IIS les compile une fois et les utilise jusqu'à ce que le fichier dans lequel elles se trouvent soit modifié. Vous devez vous rappeler que le routage d'URL est conçu pour gérer les catalogues dans lesquels chaque produit possède sa propre URL. Cela devrait donc parler de sa performance.