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!