2011-09-12 24 views
8

Estoy utilizando Windows 7 Ultimate x64.WebRequest.GetResponse tarda mucho tiempo a menos que se anule DefaultWebProxy

que he tenido primero un navegar y conocer this donde me dieron la 'solución' al problema, pero me gustaría saber por qué - No quiero anular el DefaultWebProxy en caso de que haya un poder legítimo que debe ser utilizado. (Por cierto soy no detrás de un proxy HTTP)

Aquí hay una prueba de unidad simple que demuestra el problema.

[Test] 
    public void TestWebRequest() 
    { 
     //if I dont include the following line the request takes ~40 seconds. 
     WebRequest.DefaultWebProxy = null; 

     var httpRequest = WebRequest.Create("http://google.com");       

     var stopWatch = new Stopwatch(); 
     stopWatch.Start(); 
     using (var webResponse = httpRequest.GetResponse())//this is the line taking ages. 
     { 
      using (var sr = new StreamReader(webResponse.GetResponseStream())) 
       Trace.WriteLine(sr.ReadToEnd()); 
     } 
     stopWatch.Stop(); 
     Trace.WriteLine(string.Format("took {0} sec", stopWatch.Elapsed.TotalSeconds)); 
    } 

Por favor, no nos atasquemos en causas identificables.

+0

Creo que el razonamiento es que HttpWebrequest está tratando de hacer autodetección de proxy, y es por eso que lleva tanto tiempo. ¿Puedes ejecutar este programa en un bucle y obtener el avg, ignorando la primera invocación? ¿Cuánto es el tiempo? – feroze

+0

seguro: ¿por qué tarda tanto la detección automática de proxy? – wal

+0

Podría depender de la configuración de su red y debido a varias razones. Podría ser que la resolución de DNS sea lenta o que el servidor proxy demore en enviar el script de autoproxy, o que la evaluación de autoproxy del script tarde mucho. O el servidor proxy en sí mismo es lento. Es difícil decirlo a menos que obtengas un registro de system.net o un rastreo de red – feroze

Respuesta

1

He visto esto y me ha costado encontrar algo para resolver.

En mi caso, lo que sucedió fue que alguien había ingresado un "" (espacio) en el campo proxy en las Opciones de conexión a Internet y se activó para usar Proxy.

Es extraño, porque solo causa el gran retraso en el primer inicio del Proxy, y si vuelve a la configuración de Internet, no muestra que hay o había un espacio allí.

+0

clientes molestos !! – wal

Cuestiones relacionadas