start session_end net globales example ejemplo asp asax abrir asp.net silverlight wcf pollingduplexhttpbinding

asp.net - session_end - global.asax example



¿Cómo puede un archivo global.asax recién agregado hacer un lío de mi servicio WCF? (2)

Hay algunos tipos de enlaces que soportan el acceso a los datos de sesión de asp.net, realmente no veo cómo afectaría a menos que WCF intente conectarse al evento session_start como lo hace un módulo http. También podría usar el reflector para desensamblar el código donde obtuvo la excepción.

Tengo una aplicación Silverlight que usa WCF tanto al sondear llamadas dúplex como asíncronas "normales". todo estaba funcionando bien, hasta que agregué un archivo global.asax.

Después de una hora de googlear, encontré este blog algo anticuado de Jean-Dirk Stuart que sugería comentar el evento Session_start.

Efectivamente, eso corrigió el problema, pero genera una preocupación. ¿Por qué este miembro aparentemente benigno del archivo global.asax rompe las llamadas al wcf?


Sí, este es un problema poco conocido pero molesto. El problema se reduce al estado de sesión que se habilita una vez que agrega un archivo global.asax a su proyecto web. Una vez que el estado de la sesión está habilitado, el servidor solo ejecutará las llamadas secuencialmente. Aquí hay dos artículos con información más detallada:

http://blogs.msdn.com/b/silverlightws/archive/2009/09/30/having-a-pollingduplex-service-and-any-other-wcf-service-in-the-same-website-causes- silverlight-calls-to-be-slow.aspx

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

Este comportamiento solo ocurre cuando se utiliza la pila de red del navegador, por lo que sus opciones son:

  1. Deshabilitar el estado de la sesión en su proyecto web, o
  2. Usa la pila de red del cliente

Espero que esto ayude...

Chris