Las conexiones de WCF se cancelan incorrectamente/el host remoto cerró a la fuerza la conexión existente

Tengo una aplicación de Windows que usa el servicio WCF. Tiene algunas llamadas de servicio WCF, y ClientBase.Close() El método siempre se llama después. Cuando cierro la aplicación, no aparece ningún error en VS2010. Encendí todas las excepciones en el depurador y adjunté mi compilador a todo lo que pude. Estoy cerrando todas las conexiones y ninguna llamada de servicio de WCF se está ejecutando de forma asincrónica cuando estoy cerrando mi aplicación.

¡Pero tengo una excepción en el servicio WCF!

Se canceló la conexión del socket. Esto podría deberse a un error al procesar su mensaje, a un tiempo de espera de recepción excedido por el host remoto, o a un problema de recursos de red subyacente. El tiempo de espera del socket local fue (un gran número va aquí).

El código de error es 10054

Y la excepción interna es:

El host remoto cerró a la fuerza una conexión existente.

Pero, ¿cómo podría pasar esto a mi código?

¿Qué puedo hacer para encontrar la razón de este comportamiento erróneo?

preguntado el 03 de mayo de 12 a las 18:05

2 Respuestas

Aumenta el ChannelInitializationTimeout

Tiempo máximo de espera para que una conexión envíe el preámbulo durante la lectura inicial. Estos datos se reciben antes de que se produzca la autenticación.

El valor predeterminado es 5 segundos. Esto se debe a que "el host remoto cerró a la fuerza una conexión existente". excepción.

contestado el 03 de mayo de 12 a las 18:05

Active el seguimiento de WCF en el servidor, vea los resultados con el visor de seguimiento de WCF, asegúrese de que el grupo de aplicaciones tenga derechos para el directorio con el servicio...

<system.diagnostics>
<sources>
  <source name="System.ServiceModel" 
          switchValue="Verbose" 
          propagateActivity="true">
    <listeners>
      <add name="traceListener" 
           type="System.Diagnostics.XmlWriterTraceListener" 
           initializeData="Events.evt"  />
    </listeners>
  </source>
</sources>
<trace autoflush="true"/>

contestado el 04 de mayo de 12 a las 10:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.