Estoy usando el método DownloadFileAsync
de WebClient
para descargar algunos archivos de un servidor, y no puedo dejar de notar que en mis pruebas informales de mi código dentro de VS2010, bloquea durante aproximadamente 3 segundos mientras se inicia, lo que en mi opinión, es una especie de fracaso en primer lugar.¿Es realmente lento este WebClient.DownloadFileAsync?
Aquí es el fragmento correspondiente de código:
WebClient downloader = new WebClient();
downloader.DownloadProgressChanged += new DownloadProgressChangedEventHandler(updateDownloadProgress);
downloader.DownloadFileCompleted += new System.ComponentModel.AsyncCompletedEventHandler(downloadCompleted);
var current_map = map_downloads[0];//string with filename, map_downloads is List<string>
var path = System.IO.Path.GetTempFileName();
downloaded_maps.Add(path);//adding the temp file to a List<string>
downloader.DownloadFileAsync(new Uri(MAP_BASE + current_map), path); //MAP_BASE is a string containing the base url
estoy usando DownloadFileAsync
para mantener la interfaz de usuario de bloqueo mientras la aplicación se descarga un archivo de MB ~ 100. Obviamente, si la UI bloquea durante 3 segundos mientras se inicia la llamada, eso disminuye algo la utilidad, si no del todo.
Tengo relativamente poca experiencia con C#/.Net (hice un montón de cosas de .Net 2.0 hace unos 3-4 años, IIRC, pero básicamente estoy volviéndolo a aprender ahora).
Gracias, que funcionó a la perfección! Para aquellos que experimentan el mismo problema, simplemente configure la propiedad 'Proxy' del webclient en null antes de llamar a la descarga. – Zoey