Compartir a través de


Host de servicio WCF (WcfSvcHost.exe)

El host de servicio (WcfSvcHost.exe) Windows Communication Foundation (WCF) permite iniciar el depurador (F5) Visual Studio para hospedar y probar automáticamente un servicio implementado. Puede probar el servicio mediante el cliente de prueba WCF (WcfTestClient.exe) o su propio cliente, para buscar y corregir cualquier error potencial.

Host de servicio de WCF

El host de servicio WCF enumera los servicios de un proyecto de servicio WCF, carga la configuración del proyecto y crea una instancia de host por cada servicio que busca. La herramienta está integrada en Visual Studio a través de la plantilla Servicio WCF y se invoca al empezar a depurar el proyecto.

Al usar el host de servicio de WCF, puede hospedar un servicio de WCF (en un proyecto de biblioteca de servicio WCF) sin escribir código adicional ni confirmar a un host concreto durante el desarrollo.

Bb552363.note(es-es,VS.100).gifNota:
El host de servicio WCF no admite la confianza parcial. Si desea utilizar un servicio WCF en confianza parcial, no utilice la plantilla del proyecto de biblioteca de servicios WCF de Visual Studio para generar su servicio. En su lugar, cree un nuevo sitio web en Visual Studio eligiendo la plantilla de sitio web de servicios WCF, que puede hospedar el servicio en un WebServer en el que se admita la confianza parcial de WCF.

Tipos de proyecto alojados por el host de servicio de WCF

El host de servicio WCF puede hospedar los tipos de proyecto de biblioteca de servicio WCF siguientes: biblioteca de servicios WCF, biblioteca de servicio de flujo de trabajo secuencial, biblioteca de servicio de flujo de trabajo de equipo de estado y biblioteca de servicio de sindicación. El host de servicio WCF también puede hospedar los servicios que se pueden agregar a un proyecto de biblioteca de servicio utilizando la funcionalidad Agregar elemento. Esto incluye servicio WCF, servicio de flujo de trabajo de equipo de estado, servicio de flujo de trabajo secuencial, servicio de flujo de trabajo de equipo de estado XAML y servicio de flujo de trabajo secuencial XAML.

Debería tener en cuenta, sin embargo, que la herramienta no le ayudará a configurar un host. Para esta tarea debe modificar manualmente el archivo App.config. La herramienta tampoco valida los archivos de configuración definidos por el usuario.

Bb552363.Caution(es-es,VS.100).gifPrecaución:
No debería utilizar el host de servicio WCF para hospedar los servicios en un entorno de producción, ya que no fue diseñado para este fin. El host de servicio WCF no es compatible con la confiabilidad, seguridad y requisitos de capacidad de administración de este tipo de entorno. En su lugar, utilice IIS porque que proporciona confiabilidad y características de supervisión superiores, y es la solución preferida para hospedar servicios. Cuando el desarrollo de sus servicios haya finalizado, debería migrar los servicios del host de servicio WCF a IIS.

Escenarios para usar el host de servicio de WCF dentro de Visual Studio

La tabla siguiente ofrece una lista de todos los parámetros en el cuadro de diálogo Argumentos de la línea de comandos, que se puede buscar haciendo clic con el botón secundario en su proyecto en el Explorador de soluciones, en Visual Studio, seleccionando Propiedades, seleccionando a continuación la pestaña Depurar y haciendo clic en Iniciar proyecto. Estos parámetros son útiles para configurar el host de servicio WCF.

Parameter Significado

/client

Un parámetro opcional que especifica la ruta de acceso a un ejecutable que se ejecutará una vez hospedados los servicios. Esto inicia el cliente de prueba WCF después del alojamiento.

/clientArg

Especifique una cadena como un argumento que se pasa a la aplicación cliente personalizada.

/?

Muestra el texto de ayuda.

Utilizar el cliente de prueba de WCF

Después de crear un nuevo proyecto de servicio WCF y presionar F5 para iniciar el depurador, el host de servicio WCF inicia el alojamiento todos los servicios que encuentra en su proyecto. El cliente de prueba WCF se abre automáticamente y muestra una lista de extremos de servicio definidos en el archivo de configuración. Desde la ventana principal puede probar los parámetros e invocar el servicio.

Para asegurarse de que se utiliza ese cliente de prueba WCF, haga clic con el botón secundario en su proyecto en Explorador de soluciones, en Visual Studio, seleccione Propiedades y, a continuación, seleccione la pestaña Depurar. Haga clic en Iniciar proyecto y asegúrese de que lo siguiente aparece en el cuadro de diálogo Argumentos de la línea de comandos.

/client:WcfTestClient.exe

Utilizar un cliente personalizado

Para utilizar un cliente personalizado, haga clic con el botón secundario en su proyecto en Explorador de soluciones en Visual Studio, seleccione Propiedades y, a continuación, seleccione la pestaña Depurar. Haga clic en Iniciar proyecto y modifique el parámetro /client en el cuadro de diálogo Argumentos de la línea de comandos para indicar su cliente personalizado, como se indica en el ejemplo siguiente.

/client:"path/CustomClient.exe"

Al presionar F5 para iniciar de nuevo el servicio, el host de servicio WCF inicia automáticamente su cliente personalizado al iniciar el depurador.

También puede utilizar el parámetro /clientArg: para especificar una cadena como argumento que se pasa a la aplicación cliente personalizada, como se indica en el ejemplo siguiente.

/client:"path/CustomClient.exe" /clientArg:"arguments that are passed to Client"

Por ejemplo, si está usando la plantilla de la biblioteca de servicio de distribución, puede usar los argumentos de línea de comandos siguientes:

/client:iexplore.exe /clientArgs:https://localhost:8731/Design_Time_Addresses/Feed1/

Especificación de ningún cliente

Para especificar que no se utilizará ningún cliente después del alojamiento del servicio WCF, haga clic con el botón secundario en su proyecto en Explorador de soluciones, en Visual Studio, seleccione Propiedadesy, a continuación, seleccione la pestaña Depurar. Haga clic en Iniciar proyecto y deje en blanco el cuadro de diálogo Argumentos de la línea de comandos.

Utilizar un host personalizado

Para utilizar un host personalizado, haga clic con el botón secundario en su proyecto en Explorador de soluciones en Visual Studio, seleccione Propiedades y, a continuación, seleccione la pestaña Depurar. Haga clic en Iniciar programa externo y escriba la ruta de acceso completa al host personalizado. También puede utilizar el cuadro de diálogo Argumentos de la línea de comandos para especificar argumentos que se van a pasar al host.

Interfaz de usuario del host de servicio de WCF

Al invocar inicialmente el host de servicio WCF (presionando F5 dentro de Visual Studio), la ventana Host de servicio de WCF se abre automáticamente. Cuando se está ejecutando el host de servicio WCF, el icono del programa aparece en el área de notificación. Haga doble clic en el icono para abrir la ventana Host de servicio de WCF

Cuando se producen errores durante el alojamiento del servicio, el cuadro de diálogo del host de servicio WCF se abrirá para mostrar la información pertinente.

La ventana principal del Host de servicio de WCF contiene dos menús:

  • Archivo: contiene los comandos Cerrar y Salir. Al hacer clic en Cerrar, el cuadro de diálogo Host de servicio de WCF se cierra, pero se siguen hospedando los servicios. Al hacer clic en Salir, también se apaga el host de servicio WCF. Esto también detiene todos los servicios hospedados.

  • Ayuda: contiene el comando Acerca de que contiene información de versión. También contiene el comando Ayuda, que puede abrir un archivo de ayuda.

La ventana principal del Host de servicio de WCF contiene dos áreas:

  • La primera área es Servicio. Contiene una lista que muestra información básica de todos los servicios. La información incluye:

    • Servicio: muestra una lista de todos los servicios.

    • Estado: muestra una lista del estado del servicio. Los valores válidos son “Iniciado”, “Detenido” y “Error”.

    • Dirección de metadatos: muestra la dirección de los metadatos de los servicios.

  • La segunda área es Información adicional. Muestra una explicación detallada del estado del servicio cuando la línea del servicio concreta está seleccionada en el área Servicio. Si el estado es Error, puede ver el mensaje de error completo en la pantalla.

Detener el host de servicio de WCF

Puede cerrar el host de servicio WCF de las cuatro maneras siguientes:

  • Detenga la sesión de depuración en Visual Studio.

  • Seleccione Salir en el menú Archivo en la ventana Host de servicio de WCF.

  • Seleccione Salir en el menú contextual del icono de la bandeja del host de servicio WCF en el área de notificación de sistema.

  • Salga del cliente de prueba WCF si lo está utilizando.

Uso del host de servicio sin privilegios de administrador

Para permitir que los usuarios sin el privilegio de administrador desarrollen servicios WCF, se crea una ACL (Lista de control de acceso) para el espacio de nombres "http://+:8731/Design_Time_Addresses" durante la instalación de Visual Studio. La ACL se establece en la interfaz de usuario (UI), en la que se incluyen todos los usuarios interactivos que iniciaron sesión en el equipo. Los administradores pueden agregar o quitar usuarios de esta ACL o abrir puertos adicionales. Esta ACL permite a los usuarios utilizar el host de servicio de WCF (wcfSvcHost.exe) sin concederles privilegios de administrador.

Puede modificar el acceso mediante la herramienta netsh.exe en Windows Vista, en la cuenta de administrador elevada. El siguiente ejemplo muestra la utilización de netsh.exe.

netsh http add urlacl url=http://+:8001/MyService user=<___domain>\<user>

Para obtener más información sobre netsh.exe, consulte "How to Use the Netsh.exe Tool and Command-Line Switches".

Vea también

Conceptos

Cliente de prueba de WCF (WcfTestClient.exe)