Estamos creando un servidor WCF (.NET 4.0). Solo usará el transporte net.tcp.Detectar desconexión de socket en WCF
Cuando un cliente cierra la conexión TCP, el servidor recibe CommunicationException no administrado y finaliza.
Q1. ¿Cómo manejo la CommunicationException para que el servidor no finalice y continúe prestando servicios a otros clientes?
Q2. En el controlador, ¿cómo obtengo SessionId de la sesión que fue abortada? Necesito esto para limpiar algunos datos específicos de la sesión.
¡Gracias de antemano!
P.S. La conexión es a través de Internet, por lo que el zócalo puede cerrarse en cualquier momento, independientemente de si el cliente se desconecta con elegancia o no.
¿Cuáles son las clases que se está utilizando ? ¿Y qué métodos de las clases estás usando para leer y escribir? Hay un par de clases para manejar conexiones TCP. Solo por nombrar algunos, 'Socket',' TcpClient' –
Los enchufes están ocultos en el interior del marco WCF. En algunos clientes, utilizo la clase genérica System.ServiceModel.ChannelFactory para conectarme al servidor. –
Soonts