Estoy tratando de obtener un servicio WCF para saber cuando un cliente se ha desconectado.Manejando la desconexión del cliente en el servicio dúplex WCF
Después de leer este artículo wcf notification on disconnect Logré hacer funcionar un proyecto de prueba.
El cliente y el servidor permanecen abiertos hasta que cierro el cliente, luego el evento OperationContext.Current.Channel.Closed parece activarse una vez que expira el tiempo de espera en la línea siguiente.
<reliableSession enabled="true" ordered="true" inactivityTimeout="00:01:00" />
Después de probar esto funcionó como quería Luego trató de integrarlo en un proyecto más grande que tengo.
Esto parece comportarse de manera diferente, ya que el OperationContext.Current.Channel.Closed incluso se dispara después del tiempo especificado en la configuración <reliableSession ordered="true" inactivityTimeout="00:01:00" />
, incluso cuando el cliente aún está abierto.
Las cosas que he notado que son diferentes es el hecho de que no puedo especificar una propiedad enabled = "true" en la configuración. Además, el segundo proyecto usa WSDualHTTPBinding mientras que el primero usa WSHTTPBinding.
Mi pregunta es por qué el segundo proyecto se está comportando de esta manera y cómo puedo lograr que se comporte como el primero?
Si necesita algún archivo de código o configuración, por favor hágamelo saber y lo haré directamente.
Saludos cordiales
Ash Protocolo
¿En qué plataformas se está ejecutando el cliente? –