Para ejecutar un servicio WCF, necesita un proceso de host. No hay forma de evitar eso.
Si el proceso de host puede (dependiendo de los requisitos, modelo de implementación, restricciones de red, etc. aplicables a su caso) ser el mismo que su aplicación de escritorio, luego incruste el servicio en su aplicación de escritorio. Esta técnica se llama alojamiento de WCF "in-proc". Básicamente es el servicio "Self Hosting" en la aplicación cliente. Si adopta esta solución, use un enlace IPC (net.pipe) ya que es más óptimo, y borre todas las posibles consideraciones de red/firewall.
Si el servicio necesita ejecutarse en una computadora diferente o en un proceso diferente, entonces necesita usar o implementar una aplicación de host. IIS, WAS, AppFabric y WCFServiceHost (no es un host de grado de producción), son algunos ejemplos de hosts listos para usar que puede usar. Si no puede o no desea utilizarlos, deberá implementar su propia aplicación de host y "Servidor de host" el servicio de WCF en ella. Su aplicación puede ser cualquier cosa: consola, escritorio, servicio de Windows, etc. Si no desea que los usuarios se preocupen por cómo y cuándo iniciar el host, asegúrese de que esté ejecutándose en todo momento. Se recomienda un servicio de Windows que se inicie automáticamente.
Si el servicio debe ejecutarse en una computadora diferente del cliente, asegúrese de que todos los dispositivos de red y software (firewalls, enrutadores, puertas de enlace, etc.) entre el servidor y el cliente estén configurados correctamente para su encuadernación trabajar. Tenga en cuenta el protocolo (http, tcp, etc.) y el puerto (80, 443, 808, etc.) en los que opera su enlace.
Ya he estado usando WebServiceHost, pero parece que no funciona para mí. Acceder a la IP de mi sistema: el puerto no abre la página de servicio –
Podría ser el firewall o que el usuario no tiene privilegios suficientes para alojar en el puerto que está utilizando. http://msdn.microsoft.com/en-us/library/ms733768.aspx – driis
¿Puede explicar el escenario que debería tomar? Si estoy utilizando REST, ¿cómo permitiría que un dispositivo remoto como mi iPhone haga llamadas al servicio, a través del archivo HTML basado en JS –