Cela peut sembler étrange. J'espère que deux instances identiques d'une application se comporteront différemment en fonction de l'URL utilisée pour y accéder. J'ai deux instances de l'application déployée sur IIS, appelons leurs chemins dev.routeone
et dev.routetwo
. Les deux instances pointent vers la même source. Maintenant, disons que j'ai deux actions dans mon MainController
dans ce projet, ActionOne
et ActionTwo
, reliant respectivement aux vues HTML viewone.cshtml
et viewtwo.cshtml
respectivement.Modification du comportement de l'application en fonction de l'URL complète
La configuration de routage serait mis en place quelque chose comme ça (en RegisterRoutes
):
routes.MapRoute(
name: "ActionOne",
url: "one",
defaults: new { controller = "MainController", action = "ActionOne" }
);
routes.MapRoute(
name: "ActionTwo",
url: "two",
defaults: new { controller = "MainController", action = "ActionTwo" }
);
Avec cette configuration, les deux IIS instances se comportent de manière identique:
http://dev.routeone/one -> ActionOne
http://dev.routeone/two -> ActionTwo
http://dev.routetwo/one -> ActionOne
http://dev.routetwo/two -> ActionTwo
Je veux avoir une situation où , en utilisant le même code source, l'URL indiquera quelle action est exécutée lorsqu'un itinéraire est entré. Plus précisément, dans ce cas, dev.routeone
diriger les deux voies à ActionOne
et le contraire avec dev.routetwo
:
http://dev.routeone/one -> ActionOne
http://dev.routeone/two -> ActionOne
http://dev.routetwo/one -> ActionTwo
http://dev.routetwo/two -> ActionTwo
Ou mieux encore, directement de façon appropriée sans les routes configurées:
http://dev.routeone/ -> ActionOne
http://dev.routetwo/ -> ActionTwo
Je ne sais pas si cela est possible ou souhaitable, mais je suis ouvert à toutes les solutions. Existe-t-il un moyen de «regarder en arrière» sur l'URL qui n'est pas contrôlée par l'application et de l'utiliser pour déterminer le comportement?
Vous souhaitez utiliser plusieurs applications avec des chemins de base différents, mais avec les mêmes chemins relatifs? –
Fondamentalement, oui. Bien que les applications multiples ont le même code source –
Peut-être que cela? https://stackoverflow.com/questions/28644293/domain-routing-in-mvc5 –