Pregunta

He estado buscando la manera de implementar gmail-como la mensajería dentro de un navegador, y llegó a la Cometa concepto.Sin embargo, no he sido capaz de encontrar una buena .NET aplicación que me permita hacer esto dentro de IIS (nuestra aplicación está escrita en ASP.NET 2.0).

Las soluciones que he encontrado (o se podría pensar, para el caso) requiere salir de un subproceso en ejecución por el usuario, de modo que podría devolver una respuesta a él una vez que reciba un mensaje.Esto no se ajusta en absoluto, por supuesto.

Así que mi pregunta es - ¿sabe usted de un ASP.NET la implementación de un Cometa que funciona de una manera diferente?Es que incluso posible con IIS?

¿Fue útil?

Solución

Comet es un reto a escala con IIS porque de cometa persistente de la conectividad, pero hay un equipo que buscaba Cometa escenarios de ahora.También mira en Aarón Lerch del blog como creo que ha hecho algunos de los primeros Cometa trabajo en ASP.NET.

Otros consejos

WebSync es compatible con los estándares escalable Cometa servidor que se integra directamente en el IIS/.RED de tuberías.También está disponible en la demanda como un servicio hospedado.

Se admite oficialmente hasta 20.000 clientes concurrentes conexiones por nodo de servidor, pero las pruebas individuales se han visto ir tan alto como 50,000.Mensaje de rendimiento es óptimo alrededor de los 1,000-5,000 clientes simultáneos marca, con los mensajes entregados tan alto como 300.000 por segundo desde un solo nodo.

Incluye el lado del cliente el soporte para JavaScript .NET/Mono, iOS, Mac OS X, Java, Silverlight, Windows Phone, Windows en tiempo de ejecución, y .NET Compact, con el lado del servidor soporte .NET/Mono y PHP.

La agrupación es compatible con SQL Server o de almacenamiento en Caché de Azure fuera de la caja, pero los proveedores personalizados pueden ser por escrito, para cualquier cosa (Redis, NCache).

Descargo de responsabilidad: Yo trabajo para la empresa que desarrolla este producto.

Hace poco escribí un ejemplo sencillo de un Tiempo de Sondeo del Servidor de Chat el uso de MVC 3 Async Controladores basados en un gran artículo por Clay Lenhart

Usted puede utilizar el ejemplo en un AppHarbor implementación Puedo configurar basado en el origen de la BitBucket proyecto.

También, más información disponible en mi blog post explicando el proyecto.

En realidad hay muchas opciones para crear ajax sitio web con ASP.NET pero, sinceramente, PokeIn es la manera más fácil de crear un cometa ajax aplicaciones web compatibles.Se ha salvado uno de los proyectos de mi empresa.

También puede buscar en el Kaazing Ya Enterprise Gateway el que ha hecho una versión de producción de su webSocket [HTML5] puerta de enlace que sustituye a la cometa de manera completamente y permite conexiones full-duplex entre los navegadores y aplicaciones de los servidores.

También puede buscar en el La Luz Streamer Demos

He utilizado una vez un sitio de chat de hace mucho tiempo que utiliza una costumbre construido http servidor de streaming.De hecho, me reproduce ese software en un momento de pura curiosidad, y es bastante fácil de hacer, creo.Nunca intentaría implementar un tipo similar de "infinito" solicitud en IIS, especialmente en ASP.NET porque las solicitudes de atar un hilo a la piscina hilo (o IO hilo, si asincrónica de los controladores se usan) de forma indefinida, lo que significa que sólo se puede manejar tanto al servidor como a su grupo de subprocesos de configuración permite.

Si yo tuviera una fuerte necesidad legítima para este tipo de funcionalidad, me gustaría sinceramente escribir una costumbre servidor http para ello.

Yo sé que en realidad no responder a su pregunta, pero creo que la entrada podría ser relevante.

El WS-I grupo publicó algo que se llama "Fiable Perfil Seguro" que tiene un Vaso de Pescado y .NETO de la aplicación que al parecer inter-operar bien.

Con suerte hay un Javascript implementación ahí fuera así.

También hay una aplicación de Silverlight que utiliza HTTP Dúplex. Usted puede conectar javascript para Silverlight objeto de obtener las devoluciones de llamada cuando se produce un empuje.

También hay comercial versiones de pago así.

Creo que el Cometa enfoque no es muy escalable, a menos que usted está dispuesto a ampliar la granja de servidores web de forma horizontal (agregar más servidores web a la mezcla).La forma en que funciona es que deja una conexión TCP abierta por cada sesión de usuario, sólo por lo que el servidor puede empujar las cosas en que la conexión de vez en cuando para informar inmediatamente al usuario de un cambio o de una actividad.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top