2009-07-27 9 views
9

He estado creando una aplicación cliente/servidor con Silverlight, servicios web y sondeo. Aparentemente, me perdí toda la comunicación de Duplex cuando estaba investigando este tema por primera vez. En cualquier caso, el MSDN article que vi sobre el tema fue prometedor.Escalabilidad del sondeo dúplex con Silverlight/IIS

Al investigar la escalabilidad, parece que hay opiniones contradictorias sobre el tema.

silverlight.net/forums/t/89970.aspx - Este hilo parece indicar que el sondeo dúplex solo admite una cantidad finita de clientes simultáneos en el extremo del servidor.

dotnetaddict.dotnetdevelopersjournal.com/sl_polling_duplex.htm - Esta entrada de blog aparece en varios lugares, por lo que enturbia las aguas.

silverlight.net/forums/t/108396.aspx - Este hilo muestra que no soy el único con esta preocupación, pero no hay respuestas.

silverlight.net/forums/t/32858.aspx - A pesar de toda la mala prensa, este tema parece tener una respuesta oficial diciendo las 10 conexiones simultáneas es por máquina.

En resumen, ¿alguien tiene hechos/puntos de referencia?

Gracias :)

+0

Un otro problema que enfrenté con el Silverligth 4 sondeo dúplex y IIS [WCF Silverlight cliente conseguir la respuesta 404 no encontrado para mensaje de encuesta] (http://stackoverflow.com/q/13838777/485076) – sll

Respuesta

6

Esta es mi comprensión de esto, pero no lo han hecho pruebas.

Hay un límite de conexión incorporado de 10 en sistemas operativos que no son de servidor (XP/Vista/Windows 7). En IIS 6 (XP) rechazará nuevas conexiones una vez que haya 10 en progreso. En II7 (Vista/Windows 7) pondrá en cola las conexiones una vez que haya 10 en progreso. Creo que esto significa que 10 conexiones simultáneas están fuera.

En el lado del SO del servidor (2003/2008), no hay límite de conexión. Sin embargo, en IIS6 (2003), cada conexión de larga ejecución tomará un hilo del grupo de subprocesos, por lo que se encontrará con un límite de conexión bastante rápido. En IIS7 (2008), los subprocesos asíncronos se suspenden de una manera que no consume un subproceso, por lo que miles de conexiones deberían ser posibles.

+1

supongo que estaba esperando para algunas citas/referencias.:( – JustLoren

1

Existen límites incorporados WCF. Sin embargo, estos límites se pueden extender fácilmente a través de la configuración. (http://weblogs.asp.net/alexeyzakharov/archive/2009/04/17/how-to-increase-amount-of-silverlight-duplex-clients.aspx)

Tengo algunos problemas con el enlace dúplex. De tanto en tanto, el canal obtiene una falla sin motivo aparente y le cuesta mucho volver a conectarse. No conozco ninguna alternativa para implementar un modelo push, a menos que haga todo usted mismo (y tal vez obtenga incluso los peores resultados).

5

La escalabilidad del backend WCF utilizando el protocolo en un escenario de granja web se trata en http://tomasz.janczuk.org/2009/09/scale-out-of-silverlight-http-polling.html.

+0

Me enfrenté a otro problema de escalabilidad cuando uso Silverligth 4 Polling Duplex e IIS, básicamente observo fallas al usar múltiples procesos wroker por AppPoll - [Cliente de WCF Silverlight obteniendo la respuesta 404 no encontrada para el mensaje de sondeo] (http://stackoverflow.com/q/13838777/485076), quizás esto se puede resolver sin implementar el protocolo MC? – sll