6.15.2011

¿Cómo iniciar un Servicio WCF sin Bloquear el Debug del VS 2010

Cuando desarrollamos aplicaciones n capas y tenemos la necesidad de crear una capa de UI que consume servicios creados en nuestra solución – desde nuestra capa de servicios -, nos vemos en la necesidad de crear el proyecto de Interface de usuario en otra instancia de Visual Studio; esto principalmente porque si ejecutamos los servicios para poder agregar las referencias nos damos cuenta que el menú para tal fin inhabilita la posibilidad de agregar dicha referencia en la capa de UI.

image

Sin embargo, podemos solucionar este inconveniente haciendo uso de las herramientas en línea de comandos de VS 2010. Para esto vamos a ir a la línea de comandos de Visual Studio y vamos a ejecutarlo como administrador.

image

Luego vamos al directorio donde esta el dll del servicio y su respectivo config y procedemos a ejecutar la utilidad llamada wcfsvchost. Esta utilidad crea un host para el servicio que se especifique en el parámetro /service: y lo hace utilizando el archivo config definido en el parámetro /config:.

image

Cuando levantamos el servicio de esta forma el UI del Service Host aparece con el servicio hosteado en la dirección especificada en el app.config.

image

Luego de esto, ya podemos agregar la referencia desde el VS 2010 a nuestro proyecto de UI.

image

Es importante notar que para poder agregar esta referencia se deben de deshabilitar las opciones de debug del servicio para que no trate de levantar el servicio cada vez que queramos agregar la referencia, ya que esto provocaría una colisión de direcciones y protocolos con el servicio que ya se encuentra corriendo.

Etiquetas de Technorati:

No hay comentarios: