2011-06-09 21 views
5

Tengo problemas con mi aplicación WCF. Cuando ejecuto la aplicación cliente e intento conectarme al servidor obtengo la siguiente excepción:WCF no puede leer datos de la conexión de transporte

no se pudieron leer los datos de la conexión de transporte, el host remoto cerró forzosamente una conexión existente.

cuando depuro desde el sistema donde se aloja el servicio la aplicación funciona bien. Cuando intenté depurarlo de otra PC, recibo este error. desde esta otra PC, puedo abrir el archivo WSDL (de la aplicación del servidor) en el navegador para que pueda encontrar el servidor.

+1

Esto parece un problema molesto para arreglar/depurar. Parece que el servidor cerró la conexión por una razón u otra. Puede ser una excepción de servidor al cerrar la llamada. Que el servidor se pueda encontrar no significa que el servidor también se pueda conectar. Proporcione más información sobre la configuración del servidor/cliente y escriba un pequeño arnés de prueba para ver si puede lograr que los elementos básicos funcionen. – CodingBarfield

+0

Enlace/Protocolo/Puerto? Suena como un problema de firewall. –

+0

¿Has resuelto este problema? por favor guíame ... me estoy enfrentando el mismo problema –

Respuesta

0

Estoy de acuerdo con user1039947 - habilite completamente el rastreo de extremo a extremo, porque ese mensaje de error termina con aproximadamente ocho mil problemas diferentes, ninguno de los cuales tiene mucho que ver con (en la superficie, al menos) la conexión cerrado.

Dicho esto, una vez que se ve la traza, o si por alguna razón no puede habilitar el seguimiento (pero esta es su servicio, así que imaginar se puede), los culpables que veo con más frecuencia son:

  1. desajuste de encuadernación
  2. usando una interfaz o tipo abstracto en su contrato de datos
  3. No usar atributos de datos en sus propiedades y clases cuando se heredan de una interfaz o clase abstracta.

Al menos usted sabe que está accediendo al servidor. Si no puede obtener los registros de seguimiento, y ninguno de ellos es el problema, también siempre podría abrir dos instancias de Visual Studio, iniciar una nueva sesión de depuración del servidor de servicio en uno y luego conectarse a él desde una sesión de depuración de el cliente en el otro. Luego puede rastrear en qué parte del proceso se está lanzando la excepción. Muy a menudo está en la serialización de datos (es decir, # 2 y # 3).

+0

gracias, el proyecto ya se ha cerrado, no puede probar más pero espero que ayude a otros – thanksalot

Cuestiones relacionadas