2010-09-29 17 views
5

Estoy tratando de habilitar una transmisión de respuesta con Silverlight 4 y polling dúplex, pero estoy obteniendo un comportamiento extraño cuando la velocidad a la que se envían las actualizaciones al cliente es mayor que la maxOutputDelay, que no genera actualizaciones.StreamedResponse con Silverlight 4 polling dúplex que no envía actualizaciones

Por ejemplo, con un maxOutputDelay de 7 segundos y una actualización enviada cada 10 segundos, todo funciona bien. Pero si tengo un maxOutputDelay de 1 segundo, y una actualización enviada cada 500 milisegundos, las actualizaciones se quedan en el servidor y no se envían al cliente.

Tengo entendido que establecer transferMode = "StreamedResponse" debería enviar las actualizaciones de inmediato al cliente, pero parece que no funciona.

Aquí es la unión en mi Web.config para el servicio web:

Esta configuración se basa en la información de este artículo: http://blogs.msdn.com/b/silverlightws/archive/2010/06/25/http-duplex-improvements-silverlight-4.aspx

Gracias.

Respuesta

1

Si no está totalmente enfocado en el uso de canales dúplex (que son difíciles de configurar en cualquier escenario que no sea un host único) podría valer la pena buscar soluciones alternativas para implementar devoluciones de llamada del servidor, incluso si eso significa que debe mantener dos tipos diferentes de conexión a su back-end.

Duplex Canal Alternativas:

0

Creo que este artículo responde a la pregunta:

http://blogs.msdn.com/b/silverlightws/archive/2010/07/16/pollingduplex-multiple-mode-timeouts-demystified.aspx

El maxOutputDelay es más como una temporizador intramensaje Por lo tanto, si la velocidad de su mensaje excede este retraso, nunca activará un color hasta que se llene el búfer. Se restablece en cada nuevo mensaje agregado a la cola. Así que supongo que tenemos que ajustar el tamaño de la cola así como este temporizador para lograr una máxima latencia real.

No estoy seguro de por qué la respuesta transmitida todavía almacena pero lo veo también. ¿Alguien sabe cómo ajustar ese tamaño de búfer?

[Editado] Bien, este artículo dice que no podemos controlar el almacenamiento en búfer en la respuesta transmitida (es 16k en autohospedado y 32k en IIS). Entonces, dado que, parece que los mensajes pequeños que ingresan a un ritmo mayor que su maxoutputdelay son un caso patológico. Tal vez tengo que rellenarlos con datos ...

http://blogs.msdn.com/b/silverlightws/archive/2010/06/25/http-duplex-improvements-silverlight-4.aspx

Cuestiones relacionadas