2011-04-28 18 views
26

He escrito un servicio web WCF en C#. Originalmente lo autoalojé y luego decidí alojarlo en IIS que se ejecuta localmente en mi PC. Mientras el servicio está funcionando, hay varios aspectos del proceso de implementación que no entiendo:¿Cómo publicar un servicio web de Visual Studio en IIS?

En primer lugar, la URL de este servicio cuando se aloja en IIS no se corresponde con lo que especifiqué en mi web.config. Especifiqué "http://localhost:8000/MyServices/OrderService" allí y esto se usó cuando me auto alojé. Ahora que me he desplegado en IIS, la URL se ha convertido en "http://localhost/MyServices/OrderService". ¿Por qué no se recoge la URL de mi archivo de configuración?

En segundo lugar, para alojar el servicio web, creé un nuevo sitio web dentro de IIS (además del 'sitio web predeterminado' existente). Establecí la ruta física a c: \ inetpub \ wwwroot (no sé si esto es correcto) y dejé los otros parámetros como predeterminados. Luego copié mi carpeta/bin, mi archivo .svc y mi web.config en esta carpeta. ¿Es esto equivalente a un 'Directorio Virtual'?

Finalmente, el servicio no funcionó hasta que (dentro de IIS) seleccioné 'Convertir a aplicación'. ¿Por qué es necesario seleccionar 'Convertir a aplicación'?

¿Alguien puede explicar cuál es el procedimiento correcto para publicar un servicio web simple de Visual Studio en IIS, o señalarme una buena documentación para que pueda comprender el proceso?

**** ***** ORIGINAL PARA EDITAR haber pasado más tiempo buscando en esto, he encontrado lo siguiente:

  • Cuando creo un sitio web en IIS, le doy una directorio físico de c: \ inetpub \ wwwroot .... etc
  • Si luego "publico" desde Visual Studio, todo lo que hago es copiar todo el archivo requerido (como el directorio/bin, web.config y .svc archivo) en el directorio físico del sitio web, es decir, c: \ inetpub \ wwwroot ...

Puede realizar la copia manualmente con el mismo efecto.

  • Por último, con respecto a la dirección URL de mi servicio no corresponde a la sección baseAddress de mi archivo web.config, esto ha sido answered on stackoverflow previously.

La respuesta es que la baseAddress se ignora por completo cuando se aloja en IIS.

Respuesta

14

Si usa Visual Studio 2010 puede hacer clic con el botón derecho en el proyecto para el servicio y seleccionar properties. Luego seleccione la pestaña Web. En la sección Servers, puede configurar la URL. También hay un botón para crear el directorio virtual.

+0

Estaba tratando de alojar un servicio web a través de VS 2012 y esto me ayudó. – voddy

+0

El uso de VS2013 también hace el trabajo – Andez

Cuestiones relacionadas