2011-09-12 14 views
26

Ok, ¿puedo ventilar? Estoy tan enfermo y cansado de esto. Trabajo la mayor parte del día y los servicios de WCF funcionan estupendamente. La próxima vez que ejecute mi aplicación y realice una llamada a WCF, ¡bam! el zócalo tcp ya no está disponible. He buscado alto y bajo para resolver esto y no hay una solución real. La única solución que puedo encontrar es reiniciar la máquina, que es un gran desperdicio de tiempo y una carga. Reiniciar el servicio WPA, el servicio net.tcp, IIS, etc. no hace nada. Cerrar sesión y volver a encenderlo no lo soluciona. Solo un reinicio soluciona este problema. No hago nada excepto ejecutar mi aplicación nuevamente haciendo una llamada a WCF, y esta mierda sucede. No hay problemas de configuración con nada. He estado lidiando con esto durante meses y no encuentro ningún motivo o solución específica sobre por qué sucede esto. Sucede con mi firewall activado o desactivado, no importa.WCF: el mensaje no pudo enviarse porque el servicio en la dirección del punto final ... no está disponible para el protocolo de la dirección

¿Alguna idea de alguien? Creo que realmente hay un error en la capa WCF/net.tcp que está causando esto. Incluso lo obtengo en un servidor R2 de producción 2008 cuando a veces cambio de Web.config, así que he aprendido a detener los servicios IIS, WPA, net.tcp, etc. antes del cambio y luego los reinicio. Que dolor.

Estoy usando .NET4 en todas partes, VS2010, todos los paquetes de servicios, etc. aplicados. Todo es el más actual.

Perdone mientras que reanudo .....

¿Alguien puede ayudar con esto?

+0

¿Está hospedando en IIS, o ejecutándolo como un servicio o aplicación autohospedada? ¿Ha intentado hacer un 'netstat' o una herramienta como TCP View: http://technet.microsoft.com/en-us/sysinternals/bb897437 para ver si el puerto se está cerrando, o si algo más se está apoderando del puerto ? – CodingWithSpike

+0

He tenido la misma experiencia con los servicios de WCF al depurar dicho servicio. Puede suceder, al azar, que detenga su sesión de depuración en un punto en el tiempo en que su sistema no puede hacerle frente. El tipo de puerto se cuelga en el limbo, y se requiere un reinicio del sistema para resolver el problema. Votado este, porque tengo curiosidad por saber cuál es el origen y la posible solución para este ... – kroonwijk

+0

¿Es una pregunta? Se parece más a una triste historia sobre algún problema desconocido = en tal caso, es mejor ponerse en contacto con el soporte de MS ya sea a través de un boleto (MS Partner) o a través de MS Connect. –

Respuesta

22
  1. Abra un símbolo del sistema
  2. vaya a C: \ windows \ microsoft.net \ Framework64 \ v4.0.30319
  3. Registre el modelo de servicio con el comando "ServiceModelReg.exe -r"

Créditos ir allí http://kumaranbose.blogspot.be/2010/08/cryptic-wcf-nettcp-errors.html

+0

No puedo marcar esto como la respuesta correcta porque no es mi pregunta, si fuera mi pregunta, esta sería la respuesta correcta. Caminé a través de varios howtos msdn y ninguno de ellos mencionó este paso. – THBBFT

+0

@Serge después de todo este tiempo, gracias. – slimflem

1

No estoy seguro de tener una respuesta pero, podría identificar el proceso que tiene el puerto abierto y que puede ayudar a reducir el alcance del problema. He usado la suite Sysinternals que tiene una vista TCP. Este programa fue útil para mí.

TCPView - http://technet.microsoft.com/en-us/sysinternals/bb897437

0

Sonidos net.tcp servicio adaptador del Receptor está siendo asesinada por algún proceso o excepción de ser un tiro por el servicio web que pone el canal en un estado de fallo.

¿Ha intentado establecer el tipo de inicio del servicio en automático y la recuperación para reiniciar el servicio en la primera y la segunda falla?

Dudo mucho que haya un error en la capa del canal wcf net.tcp. Si el oyente se está ejecutando y el zócalo tcp ya no está disponible, le sugiero que busque en el código especialmente en torno a la estrategia de manejo de excepciones y que eche un vistazo a los registros de solicitud de iis.

6

Este problema me persigue desde hace casi 3 años pero solo ocurre esporádicamente. TCPView ayudó. He matado el proceso SMSSvcHost.exe y luego reinicié el servicio Net.Tcp Listener Adapter. Eso solucionó el problema. No es realmente una solución, pero al menos no tengo que volver a reiniciar el servidor.

3

Tuve este problema. Sucedería después de cada reinicio de IIS (que sucede como parte de nuestra implementación). El problema se resolvió después de reiniciar el servicio NetTcpPortSharing (que también reinicia Net.Tcp Listener Adapter service)

+0

Esto funcionó para mí. – Hogan

-1

Compruebe en el AD la cuenta utilizada para ejecutar el grupo de aplicaciones en IIS.

El grupo de aplicación puede estar ejecutándose pero se detendrá el primer intento de conexión si la cuenta está deshabilitada/bloqueada/necesita un cambio de contraseña.

Cuestiones relacionadas