web-dev-qa-db-fra.com

Configuration de IIS (Windows 7) pour ASP.NET / ASP.NET MVC 3

Je suis occupé à travailler avec une application ASP.NET MVC 3 et à utiliser Windows 7. Actuellement, il utilise le serveur Web intégré pour exécuter l'application Web. Je voudrais qu'il s'exécute dans IIS. Existe-t-il des conseils que je dois savoir lors de la configuration de cette fonctionnalité pour qu'elle s'exécute sur IIS?

Un gars du travail a dit que mon application Web DOIT être dans le répertoire wwwroot pour que IIS fonctionne correctement. Ma compréhension de c'est que si j'ai créé un répertoire virtuel (l'application web peut alors se trouver dans n'importe quel répertoire) alors ça devrait aller?

En outre, y a-t-il des livres décents que je peux acheter qui peuvent m'aider à comprendre IIS mieux? Cela n'a pas à être spécifique à ASP.NET MVC. La seule chose que je sais faire dans IIS consiste à créer un répertoire virtuel :)

Comment puis-je déboguer l'application lorsqu'elle s'exécute dans IIS?

Tous les conseils et articles Internet seraient appréciés :)

16
Brendan Vogt

Vous pouvez utiliser VS.NET faire pour le travail pour vous. Dans la page des propriétés de votre projet, passez à l'onglet "Web" et sélectionnez "Utiliser local IIS Web Server". Fournissez l'URL que vous désirez et VS. fera le reste.

Pour répondre spécifiquement à votre question, aucun site ne doit être un sous-dossier du dossier racine d'IIS pour que cela fonctionne et le débogage fonctionnera normalement.

FYI: Je n'utilise jamais le serveur Web de développement et j'ai toujours utilisé IIS. La plupart de mon projet sont des sous-dossiers du dossier racine d'IIS et j'édite manuellement le fichier .proj pour le pointer au bon endroit. Mais cela n'est pas nécessaire pour que les choses fonctionnent.

Avec Internet Information Services Manager, vous devriez pouvoir faire bien plus que créer des dossiers virtuels. Les choses sont un peu plus simples.

Cependant, en ce qui concerne IIS et ASP.NET en général. Je vous suggère de lire sur les pools d'applications et leur modèle de processus (les différentes options sous ProcessModel ainsi que d'autres sections).

MSDN et http://www.iis.net/ sont généralement de bons endroits pour obtenir des informations décentes sur tout ce qui concerne IIS.

Edit: En passant, vous voudrez peut-être aussi regarder le IIS Express) récemment introduit. Il remplace en fait le serveur de développement et est vraiment IIS 7 à toutes fins utiles, donc toutes les fonctionnalités de IIS 7 sont disponibles. De plus, vous n'avez pas besoin d'exécuter votre VS comme administrateur si, pour une raison quelconque, vous n'êtes pas en mesure de le faire.

Si vous pouvez exécuter VS.NET en tant qu'administrateur sur votre machine, je vous suggère d'utiliser IIS 7.

21
Shiv Kumar

Vous pouvez consulter l'article suivant sur le déploiement d'applications ASP.Net MVC sous IIS:

Le déploiement normal d'une application ASP.Net MVC sous IIS7 est très similaire au déploiement d'une application ASP.Net standard avec l'exigence supplémentaire d'un assemblage d'exécution MVC rew.

Pour répondre à certains de vos autres questinons:

  • Mon application doit-elle être dans le répertoire wwwroot pour que IIS fonctionne correctement?

Non, c'est incorrect - vous pouvez utiliser un répertoire virtuel si votre application ne se trouve pas dans le répertoire wwwroot.

  • Comment déboguer mon application lorsqu'elle s'exécute dans IIS?

Vous devez attacher au w3wp.exe processus à l'aide de Visual Studio à l'aide de la commande "Debug" -> "Attach to process ..." - une fois que vous êtes attaché, l'expérience de débogage devrait être similaire au démarrage de l'application à l'aide de F5.

12
Justin