2010-04-22 3 views
1

Je suis en train de déplacer une grande application ASP classique ASP.NET MVC 2. Questions:Intégration de ASP.NET MVC 2 avec ASP classique

Ma question porte sur l'organisation du projet.

Je préférerais ne pas mélanger le code MVC avec le code ASP dans le même projet VS. J'aimerais disposer d'un WAP MVC avec des zones correspondant aux parties du site que je migre. Par exemple, l'ancien site a un dossier

/products/default.asp .....

/products/productName/default.asp

etc.

Dans le WAP MVC, je voudrais avoir une zone appelée "produits", que je pourrais ensuite, soit par une réécriture, le routage, ou de préférence via une configuration IIS, pointez le dossier "produits" sur le site ASP. De cette façon, je pourrais déplacer progressivement les dossiers racines du site ASP vers l'application MVC.

Cependant, si je crée le MVC WAP dans un dossier virtuel, puis mes voies vent ressembler

http://localhost/virtualFolder/products

au lieu de

http://localhost/products

Des suggestions sur la façon de conquérir cela?

Je sais que, pendant le déploiement, je pouvais déployer le WAP MVC dans la racine du site ASP, mais cela ne facilite pas le débogage.

Répondre

1

Je rédigerai ma réponse en supposant que cette instance est hébergée sur une instance IIS7. Si c'est IIS6, alors vous devrez chercher un module ModRewrite approprié.

Donc, en supposant IIS7, vous serez beaucoup mieux à l'aide Réécriture d'URL: http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/

Vous pouvez gérer vos règles de réécriture et de réécriture des cartes, en fonction de votre niveau d'accès et de contrôle, que ce soit à l'intérieur du IIS7 Console d'administration ou manuellement via votre fichier web.config. Ces règles et cartes de réécriture peuvent être aussi simples ou complexes que vous le souhaitez. Vous pouvez également les configurer pour une redirection temporaire ou permanente - ce qui aidera si des moteurs de recherche indexent le site car le code de redirection correct sera renvoyé avec la requête HTTP pour garantir que les résultats du robot sont mis à jour rapidement.