Quelles sont les meilleures pratiques pour configurer des projets avec plusieurs interfaces dans asp.net MVC2? Je commence un projet où nous avons besoin d'un arrangement typique comme:Structure d'URL Asp.net MVC2 - meilleures pratiques
example.com/ - Interface utilisateur final
example.com/Admin/ - Gestion du site
Le site sera assez impliqué Le simple fait d'avoir toute la logique utilisateur dans HomeController et toute la logique d'administration dans AdminController n'est pas vraiment une option. J'ai lu sur l'utilisation de plusieurs définitions de route, mais ce qui suit ne semble pas fonctionner correctement:
routes.MapRoute(
"Admin", // Route name
"Admin/{controller}/{action}/{id}", // URL with parameters
new { controller = "Admin", action = "Index", id = 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
);
Il provoque tous les liens sur la page d'accueil pour pointer vers example.com/Admin/local-part au lieu de example.com/local-part.
Je souhaite éviter de spécifier un MapRoute différent pour chaque contrôleur Admin (en omettant {controller} du mappage à chaque fois).
J'ai également lu sur la mise en place de différentes zones dans un projet, mais il semble que ce soit trop impliqué pour la portée de ce projet. Enfin, j'ai aussi lu que vous pouvez mettre des contraintes sur MapRoutes, mais la documentation sur cette partie semble confuse pour moi. Y a-t-il quelque chose d'évident qui me manque? A défaut, y a-t-il des bonnes pratiques pour la structure asp.net que je devrais garder à l'esprit?