web-dev-qa-db-fra.com

Comment publier un service Web de Visual Studio dans IIS?

J'ai écrit un service Web WCF en C #. Je l'avais à l'origine auto-hébergé, puis j'ai décidé de l'héberger sur IIS exécuté localement sur mon PC. Pendant que le service fonctionne, il y a plusieurs aspects du processus de déploiement que je ne comprends pas :

Tout d'abord, l'URL de ce service lorsqu'il est hébergé dans IIS ne correspond pas à ce que j'ai spécifié dans mon web.config. J'avais spécifié " http: // localhost: 8000/MyServices/OrderService "là et cela a été utilisé lorsque je me suis auto-hébergé. Maintenant que j'ai déployé sur IIS, l'URL est devenue" http: // localhost/MyServices/OrderService ". Pourquoi l'URL n'est-elle pas récupérée dans mon fichier de configuration?

Deuxièmement, pour héberger le service Web, j'ai créé un nouveau site Web dans IIS (en plus du "site Web par défaut" existant). J'ai défini le chemin physique sur c:\inetpub\wwwroot (aucune idée si c'est correct) et laissé les autres paramètres par défaut. J'ai ensuite copié mon dossier/bin, mon fichier .svc et mon web.config dans ce dossier. Est-ce l'équivalent d'un "répertoire virtuel"?

Enfin, le service n'a pas fonctionné jusqu'à ce que (dans IIS) je sélectionne "Convertir en application". Pourquoi est-il nécessaire de sélectionner "Convertir en application"?

Quelqu'un peut-il expliquer la procédure correcte pour publier un service Web simple à partir de Visual Studio dans IIS, ou me diriger vers une bonne documentation afin que je puisse comprendre le processus?

**** ÉDITER À L'ORIGINAL ***** Ayant passé plus de temps à examiner cela, j'ai trouvé ce qui suit:

  • Lorsque je crée un site Web dans IIS, je lui donne un répertoire physique de c:\inetpub\wwwroot .... etc
  • Si je "publie" ensuite à partir de Visual studio, tout ce qu'il fait est de copier tous les fichiers requis (comme le répertoire/bin, le fichier web.config et .svc) dans le répertoire physique du site Web, c'est-à-dire: c:\inetpub\wwwroot ...

Vous pouvez effectuer la copie manuellement avec le même effet.

La réponse est que l'adresse de base est complètement ignorée lors de l'hébergement sur IIS.

26
JMc

Si vous utilisez Visual Studio 2010, vous pouvez cliquer avec le bouton droit sur le projet du service et sélectionner properties. Sélectionnez ensuite l'onglet Web. Dans la section Servers, vous pouvez configurer l'URL. Il existe également un bouton pour créer le répertoire virtuel.

14
Nils Magne Lunde