116 votos

No se ha podido establecer conexión ya que el equipo de destino la rechazó activamente?

A veces me sale el siguiente error mientras estaba haciendo HttpWebRequest a un WebService. He copiado el código de abajo también.


Sistema.Neto.WebException: no se puede conectar con el servidor remoto ---> Sistema.Neto.Sockets.SocketException: No se pudo establecer conexión ya que el equipo de destino ha denegado activamente dicha 127.0.0.1:80
 en el Sistema.Neto.Sockets.Zócalo.DoConnect(Extremo endPointSnapshot, SocketAddress socketAddress)
 en el Sistema.Neto.Sockets.Zócalo.InternalConnect(Extremo remoteEP)
 en el Sistema.Neto.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, dirección ip y dirección, ConnectSocketState estado, IAsyncResult asyncResult, Int32 timeout, Excepción y la excepción)
 --- Fin de la pila de la excepción interna de seguimiento ---
 en el Sistema.Neto.HttpWebRequest.GetRequestStream()

ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

request.PreAuthenticate = true;
request.Credentials = networkCredential(sla);
request.Method = WebRequestMethods.Http.Post;
request.ContentType = "application/x-www-form-urlencoded";
request.Timeout = v_Timeout * 1000;

if (url.IndexOf("asmx") > 0 && parStartIndex > 0)
{
    AppHelper.Logger.Append("#############" + sla.ServiceName);

    using (StreamWriter reqWriter = new StreamWriter(request.GetRequestStream()))
    {                        
        while (true)
        {
            int index01 = parList.Length;
            int index02 = parList.IndexOf("=");

            if (parList.IndexOf("&") > 0)
                index01 = parList.IndexOf("&");

            string parName = parList.Substring(0, index02);
            string parValue = parList.Substring(index02 + 1, index01 - index02 - 1);

            reqWriter.Write("{0}={1}", HttpUtility.UrlEncode(parName), HttpUtility.UrlEncode(parValue));

             if (index01 == parList.Length)
                 break;

             reqWriter.Write("&");
             parList = parList.Substring(index01 + 1);
         }
     }
 }
 else
 {
     request.ContentLength = 0;
 }

 response = (HttpWebResponse)request.GetResponse();

91voto

Will Puntos 30630

Si esto sucede siempre, que, literalmente, significa que la máquina existe, pero que no tiene los servicios que escucha en el puerto especificado, o hay un firewall que te detenga.

Si sucede de vez en cuando, se utiliza la palabra "a veces" - y reintentando éxito, es probable debido a que el servidor tiene un " retraso".

Cuando usted está esperando para ser accepted en un socket de escucha, que se colocan en una reserva. Este atraso es finito y bastante corto valores de 1, 2 o 3 no son inusuales, y así OS podría no ser capaz de cola de su petición de 'aceptar' para consumir.

El atraso es de un parámetro en la listen de la función de todos los lenguajes y plataformas tienen básicamente el mismo API en este sentido, incluso el de C# uno. Este parámetro es a menudo configurable si usted controla el servidor, y es probable que la lectura de algunos de los ajustes de archivos o el registro. Investigar cómo configurar su servidor.

Si usted escribió el servidor, usted puede tener el procesamiento pesado en la aceptación de su zócalo, y esto puede ser mejor movidos a un nuevo trabajador-hilo de modo que su aceptación está siempre listo para recibir conexiones. Hay varias arquitectura opciones que usted puede explorar que mitigar la cola de clientes y se procesan de forma secuencial.

Independientemente de si se puede aumentar el servidor de retraso, no necesita de reintento de lógica en el código de cliente para hacer frente a este problema - como incluso con un largo atraso en el servidor podría estar recibiendo un montón de otras peticiones en dicho puerto en ese momento.

Hay una posibilidad poco frecuente donde un router NAT iba a dar este error no es de los puertos para las asignaciones de ser agotado. Creo que podemos descartar esta posibilidad, como mucho de un tiro largo, ya que el router tiene 64K conexiones simultáneas a la misma dirección de destino y el puerto, antes de agotamiento.

15voto

La mayor razón posible es un Firewall.

Este artículo contiene un conjunto de razones. Puede ser útil para usted.

Desde el artículo, las posibles razones podrían ser:

  • Configuración del servidor FTP
  • Configuración de software / Personal Firewall
  • Software múltiple / Cortafuegos personales
  • Software Antivirus
  • LSP de la capa
  • Router Firmware

5voto

Mr_Green Puntos 8867

Esto me pasó a mí también.. a Veces cuando abro mi proyecto de este error se muestra cual fue frustrante. El problema era que a veces el puerto-número de servicio web estaba cambiando de forma inesperada.

Este problema suele ocurrir cuando usted tiene más de una copia del proyecto

Mi proyecto era llamar a los servicios Web con un número de puerto específico que señalé en la Web.Archivo de configuración principal de mi archivo de proyecto. Como el número de puerto cambiado inesperadamente, el navegador fue incapaz de encontrar el servicio Web y tirar ese error.

He resuelto esta siguiendo los pasos a continuación: (Visual Studio 2010)

Vaya a las Propiedades de la Web service proyecto - > haga clic en Web pestaña --> En los Servidores de la sección --> Verificación de puerto Específico y, a continuación, asignar la standard port number por la que su principal proyecto es llamar al servicio web.

Espero que esto va a resolver el problema.

Saludos :)

2voto

John Zabroski Puntos 372

Tengo este error en una aplicación que utiliza AppFabric. La idea era conseguir un DataCacheException [1] en la traza de la pila. A ver si este es el problema, ejecute el siguiente comando de PowerShell:

@("AppFabricCachingService","RemoteRegistry") | % { get-service $_ }

Si cualquiera de estos dos servicios están detenidos, a continuación, aparecerá este error.

[1] http://msdn.microsoft.com/en-us/library/microsoft.applicationserver.caching.datacacheexception.aspx

1voto

Ravichandra Puntos 21

Yo tenía el mismo problema. El problema es que din no iniciar el servidor selenium. He descargado el servidor selenium y empecé. Después de iniciar el servidor selenium, el problema se ha ido y todo funcionaba bien.

Se refieren a esto : http://coding-issues.blogspot.in/2012/11/no-connection-could-be-made-because.html

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X