2009-07-27 8 views
1

J'ai deux applications utilisant ASP.NET MVC, chacune avec plusieurs contrôleurs.IIS - Redirection ASP.NET MVC

Je souhaite effectuer une redirection de l'application A à l'application B, mais uniquement pour une route unique sur l'application A (un contrôleur).

Par exemple.

/applicationA/édition/* devrait rediriger vers/applicationB/édition/

/applicationA/qualité/ne devrait pas rediriger

Les exemples de redirection IIS me montrent des exemples de cliquer sur un fichier/dossier et activer la redirection, mais j'essaie de faire un itinéraire, pas un chemin physique.

Je ne veux pas modifier la source ASP.NET (si possible).

Merci.

éditer - ceci est dans IIS6 sur Win2k3.

Répondre

1

Oui, ce dernier bit est une véritable mise en garde. Si c'était sur IIS7, ce serait 100% plus facile!

Vous pouvez télécharger une autre application pour effectuer le travail de redirection, mais il ne sera pas difficile de modifier l'application MVC. En supposant que/issue/et/quality/sont des routes différentes, pourquoi ne pas faire quelque chose comme ceci:

public class MyController 
{ 
    public RedirectResult Issue() 
    { 
    //return as a redirect 
    return Redirect("http://applicationb/issue"); 
    } 

    public ActionResult Quality() 
    { 
    //This is here to show that, instead of redirecting, it returns a view. 
    return View(); 
    } 
} 
+0

J'espérais pouvoir le faire au niveau IIS, donc c'était explicite pour quiconque regardait l'outil de gestion. En regardant UrlRewriting je ne vois pas l'avantage de l'utiliser juste en changeant mes routes MVC, ce qui semble être la réponse. – anonymous

+0

Ajout d'une route au début de la liste, puis d'une action qui renvoie un nouveau RedirectResult. IIS7 semble répondre à cette question, mais c'était plus simple dans ASP.NET que dans IIS5/6. – anonymous

+0

Content de pouvoir aider! –

1

Vous pouvez utiliser URLRewriting.NET pour effectuer la redirection basée sur un modèle d'expression régulière.

+0

Je suis d'accord. Comme solution pour IIS6, UrlRewriting.NET est probablement le meilleur qui soit. @ Michael, l'url que vous pourriez vouloir ajouter à la réponse est http://urlrewriting.net/149/en/home.html. –

+0

@dan - Merci, j'ai ajouté le lien! –

Questions connexes