2011-01-16 25 views
6

He encontrado un comportamiento muy interesante de sesión confiable. Estoy usando netTcp binding + duplex channel + session confiable.WCF Sesión confiable sin seguridad de transporte no ha fallado el evento a tiempo

Cuando trato de escuchar en channel.faulted, si hay un modo de seguridad configurado para el transporte, el evento con error se activará inmediatamente cuando el cliente se desconecte.

Sin embargo, cuando configuro el modo de seguridad de enlace a Ninguno o Mensaje, el evento con error ya no se desencadena en la misma situación. Eventualmente recibirán la mitad de ReciveTimeout en el lado del servidor, lo que entiendo porque una sesión confiable enviaría un mensaje de latido en ese momento.

La pregunta es: ¿Por qué el enlace wcf no falla a tiempo?

La solución para este caso es que puedo "hacer ping" manualmente las conexiones.

+0

¿Cuál es exactamente la pregunta? ¿Estás preguntando por qué es así? ... o qué puedes hacer al respecto, en todo caso? –

+0

Sí, lo siento, no está claro. Quería saber por qué es así y he publicado una solución para ello. – Yuan

Respuesta

0

El enlace NetTcp utiliza de manera predeterminada Transport security con Windows credentials. Todos los enlaces excepto BasicHttp y WebHttp están protegidos por defecto.

+0

Sí, eso es correcto. Es por eso que tuve que configurar explícitamente el modo de seguridad a Ninguno y la sesión confiable ya no genera fallas a tiempo. – Yuan

Cuestiones relacionadas