2010-11-03 13 views
0

Je pense que j'ai un problème assez facile à résoudre, mais je n'arrive pas à le faire fonctionner comme j'ai besoin. Lorsque vous exécutez l'application Web via Visual Studio, j'obtiens une URL telle que: http://localhost:50261/Controller/Action Mais lorsque je la déploie sur IIS, l'URL est configurée comme suit: http://devServer/AppName/Controller/Action.Routage MVC pour IIS et Javascript

Je rencontre un problème avec mes requêtes d'URL ajax qui ne sont pas routées correctement. Lors de l'exécution de l'application Web localement, mon URL ajax est: /Controller/Action mais lorsque je déploie sur le dev IIS, je dois le changer pour: /AppName/Controller/Action pour que la requête ajax soit correctement routée.

J'ai donc essayé de créer la mapRoute correcte pour laisser mon URL ajax à /AppName/Controller/Action, donc je n'ai pas besoin de l'ajuster chaque fois que je la déploie. Voilà ce que j'ai en ce moment Thats pas travailler:

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

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

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

     } 

Avec ces routes si je tente l'URL: http://localhost:50261/AppName/ ne peut pas trouver quoi que ce soit. Je suis un peu confus à ce que je fais mal? Merci!

Répondre

0

Je suppose que j'aurais dû attendre un peu plus longtemps avant de poster ma question sur SO, je l'ai compris. J'allais supprimer la question, mais au cas où quelqu'un d'autre croiserait ça, je pensais que je le laisserais.

Mon problème n'avait rien à voir avec le routage MVC, mais plutôt avec les paramètres de Visual Studio Development Server. Tout ce que j'avais à faire est correctement placé dans le "chemin virtuel" pour correspondre à ma structure IIS et maintenant l'application web fonctionne localement et quand elle est déployée sans apporter de changements.