2009-05-04 14 views
11

J'essaie d'utiliser IIS pour déboguer ASP.NET MVC dans Visual Studio. Le problème est que si je choisis « Utiliser le serveur Web IIS local » dans Visual Studio, je dois choisir un répertoire virtuel, quelque chose comme http://localhost/myapp/Configuration du répertoire virtuel lors de l'utilisation d'IIS pour le débogage ASP.NET MVC

Ceci est un problème car l'application ASP.NET MVC est supposé fonctionner à partir de la Le répertoire racine et le MVC analyseraient "myapp" en tant que contrôleur, et quand j'exécuterai l'application à partir de Visual Studio/IIS, les requêtes suivantes seront quand même dirigées vers la racine.

Comment résoudre ce problème? Est-il possible d'utiliser la racine du site Web IIS au lieu d'un répertoire virtuel pour le débogage Visual Studio?

Répondre

2

Oui, vous pouvez exécuter un ASP.NET MVC en tant qu'application racine. Il suffit d'utiliser le gestionnaire IIS pour définir le répertoire personnel du site Web sur le chemin de votre application. Puis, apportez les modifications appropriées dans l'onglet "Web" de vos paramètres de projet pour MVC dans Visual Studio.

Cela suppose que vous ayez correctement configuré l'autorisation de fichier Windows pour IIS.

+0

J'ai essayé dans VS et il oblige l'utilisation d'un dossier virtuel et je ne peux pas utiliser la racine. Est-ce que je manque quelque chose? Merci. – ycseattle

1

Accédez aux propriétés de votre site Web (dans le menu Projet). Sélectionnez l'onglet Web en bas et tapez le même nom de répertoire virtuel que vous utilisez dans IIS dans le champ du chemin virtuel. Cela pourrait résoudre votre problème

2

Vous dites que

l'application ASP.NET MVC est supposé fonctionner à partir du répertoire racine et le MVC pourrait analyser « myapp » en tant que contrôleur

Cependant, il est possible pour exécuter ASP.NET MVC à partir d'un répertoire virtuel en ajoutant cartographie générique comme décrit dans cet article:

ASP.NET MVC on IIS 6 Walkthrough

Voir aussi this question ici sur stackoverflow, et accepted answer qui décrit les étapes suivies pour résoudre un problème similaire:

ASP.NET MVC How-to use routes when application is published as SubProject of a domain?

1

Vous pouvez également utiliser Debug-> Attacher au processus à partir de Visual Studio au lieu de Démarrer le débogage. Connectez-vous à aspnet_wp.exe et vous pourrez déboguer votre application MVC, qu'elle se trouve ou non dans un répertoire virtuel.

Questions connexes