Pregunta

Tengo una aplicación Silverlight que los usos WCF tanto mediante el sondeo dúplex y "normal" asíncrono llamadas. todo estaba funcionando bien, hasta que he añadido un archivo global.asax.

Tras una hora de google, me encontré con este blog bastante anticuado por Jean-Dirk Stuart que sugería al comentar el evento session_Start aplastó.

Efectivamente que corrige el problema, sino que plantea una preocupación. ¿Por qué esta persona decorosa benigna del archivo global.asax romper las llamadas WCF.

¿Fue útil?

Solución

Sí, este es un tema poco conocido, pero molesto. El problema se reduce a estado de sesión está habilitada vez que se agrega un archivo global.asax a su proyecto web. Una vez que se activa el estado de sesión, el servidor sólo ejecutará las llamadas de forma secuencial. Aquí hay dos artículos con alguna información más en profundidad:

http://blogs.msdn.com/b/silverlightws/archive/2009/09/30/having- a-pollingduplex-servicio-y-cualquier-otra-WCF-servicio-in-the-mismas-Website-causas-silverlight-llamadas-a-ser-slow.aspx

http://weblogs.asp.net/olakarlsson/archive/2010/05/20/simultaneously-calling-multiple-methods-on-a-wcf-service-from-silverlight.aspx

Este comportamiento sólo se produce cuando se utiliza el navegador pila de red, por lo que sus opciones son:

  1. Desactivar el estado de sesión en su proyecto web, o
  2. Utilice el cliente de pila de red

Espero que esto ayude ...

Chris

Otros consejos

Hay algunos tipos de encuadernación que apoyan el acceso a los datos de sesión asp.net, realmente no veo cómo afectaría a menos WCF trata de atrapar en el caso session_start al igual que un módulo HTTP hace. También es posible usar el reflector de desmontar el código en el que donde conseguir la excepción.

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