Tengo una aplicación WCF que está utilizando sesiones.WCF: ¿Cómo saber cuándo termina una sesión?
¿Hay algún evento central que se produzca cuando finaliza una sesión? ¿Cómo puedo saber cuándo finaliza una sesión SIN (!) Llamar a un método (desconexión de la red, bloqueo del cliente, por lo que no hay una llamada al método "cerrar sesión")?
El servidor está instalado como:
[ServiceBehavior(
InstanceContextMode = InstanceContextMode.PerSession,
ConcurrencyMode = ConcurrencyMode.Reentrant,
UseSynchronizationContext = false,
IncludeExceptionDetailInFaults = true
)]
Básicamente porque está utilizando una interfaz de devolución de llamada.
Ahora, que básicamente tienen que decoubple la instancia creada a partir de la tienda de back-end cuando la sesión termina;)
¿Alguna idea?
mala respuesta - Ya tengo ese (ping por segundo, etc.) - no impide que un cliente se MUERDE debido a tiempo de espera en la red o pérdida de energía o algo así, y eso es exactamente lo que quiero/necesito atrapar (Es decir, necesito saber cuándo ha finalizado la conexión/la sesión ha finalizado). Tampoco hay ningún navegador involucrado (¿por qué diablos todos piensan que un servicio web es un estúpido sitio web aburrido?). Aquí no hay ningún lado del cliente involucrado, mi pregunta es 100% del lado del servidor. -1. – TomTom
Puede intentar esto: callbackClient.opContext.Channel.State. – DavyMac23