0

Actuellement, j'ai une zone dans mon appel de projet ASP.NET MVC 2 'API', ce qui est explicite. Au fur et à mesure que l'API de mon application Web arrivera à maturité, j'aurai bientôt besoin d'ajouter des numéros de version à mon adresse. à savoir/Ajouter des barres obliques dans Nom de la zone sur une route ASP.NET MVC 2

Au lieu de:

http://site/API/

je besoin

http://site/API/1.0/ 
http://site/API/1.1/ 
... 

Quelle est la meilleure pratique pour atteindre cet objectif dans ASP.NET MVC (2)?

J'expérimente actuellement avec un appel de zone Api_1_0 et modifier son MapRoute à

context.MapRoute(
    "Api_1_0_default", 
    "Api/1.0/{controller}/{action}/{id}", 
    new { action = "Index", id = UrlParameter.Optional } 
); 

Mais appearently la barre oblique supplémentaire dans l'URL provoque exécuter une erreur de temps.

+0

peut vous signaler l'erreur que vous obtenez. –

+0

J'ai gardé l'esprit d'une barre oblique supplémentaire qui cause le problème, mais je ne réalise pas que j'ai une zone 'Api' qui fait que' 'Api/1.0/{controller}/{action}/{id}" 'tombe dans Carte d'itinéraire de la zone «Api» avant qu'elle n'atteigne la carte d'itinéraire de la zone «Api_1_0». Merci beaucoup mon pote :) –

Répondre

2

Je viens d'essayer votre scénario exact et il semble fonctionner très bien avec la barre oblique

  context.MapRoute(
       "Api_1_0_default", 
       "Api/1.0/{controller}/{action}/{id}", 
       new { action = "Index", id = UrlParameter.Optional } 
      ); 

alt text