Estoy tratando de usar WCF para implementar un empuje de servidor de estilo cometa a una aplicación web ajax.cometa e hilos WCF
En mi servicio WCF, he implementado un método WaitForEvents que llama a Monitor.Wait para suspender el hilo hasta que lleguen nuevos datos. En ese punto, el monitor se pulsa, y el método devuelve los datos nuevos que cierran la solicitud de estilo del cometa.
La solicitud se realiza nuevamente cuando esto sucede.
Actualmente, esto funciona bien pero noté que WCF necesita crear un nuevo hilo para cada usuario conectado. Esto es probablemente debido a que el hilo no puede devolverse a la lista de hilos hasta que ingresen los datos, por lo que cada usuario conectado necesita un hilo nuevo.
Quiero hacer que esta implementación sea más eficiente al tener un servicio de subprocesos múltiples conexiones. Si tuviera que usar un socket, esto podría hacerse dejando el socket abierto y devolviendo primero el hilo al grupo de subprocesos. Cuando lleguen nuevos datos, serán entregados por otro hilo y podemos escribir los nuevos datos directamente en el socket y cerrarlos.
¿Alguien sabe cómo esto se puede hacer a través de WCF?
He estado buscando "Push-Style Streaming" http://msdn.microsoft.com/en-us/library/bb472551.aspx y mencionan que "WCF implementa un modelo" pull "en el que el código de la aplicación (el servicio) devuelve una instancia de Stream y se basa en la infraestructura de nivel inferior para extraer datos de esta secuencia y escribirlos en la red ". pero no puedo encontrar ningún ejemplo de este el sitio web.
¡Muchas gracias de antemano!