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.
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.
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:.
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.
Luego de esto, ya podemos agregar la referencia desde el VS 2010 a nuestro proyecto de UI.
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.
No hay comentarios:
Publicar un comentario