Foros del Web » Programación para mayores de 30 ;) » .NET »

Problemas con el WebClient

Estas en el tema de Problemas con el WebClient en el foro de .NET en Foros del Web. Yo hago un método con la siguiente signatura e implementación para bajar datos desde un servidor ftp: private bool DownloadFile(Uri serverUri, int var, string fileABajar, ...
  #1 (permalink)  
Antiguo 02/04/2007, 07:39
 
Fecha de Ingreso: marzo-2007
Mensajes: 1
Antigüedad: 17 años, 1 mes
Puntos: 0
Información Problemas con el WebClient

Yo hago un método con la siguiente signatura e implementación para bajar datos desde un servidor ftp:
private bool DownloadFile(Uri serverUri, int var, string fileABajar, int i)
{
WebClient request = new WebClient();
request.Proxy = (WebProxy)System.Net.WebProxy.GetDefaultProxy();
request.Proxy.Credentials = new NetworkCredential("user", "password");
request.Credentials = new NetworkCredential("anonymous", "");
request.DownloadFile(serverUri, GetFilePath(var) + fileABajar);
FileStream f = new FileStream(GetFilePath(var) + fileABajar, FileMode.Open);
int sizeLimit = SizeLimit(i, var);
if (f.Length >= sizeLimit)
{
bajado[i] = true;
Console.WriteLine("Se bajo: " + fileABajar);
f.Close();
return true;
}
f.Close();
return false;
}

Mi problema radica en que la Uri que yo paso como parámetro en el método anterior yo la tomo dinámicamente de realizar un pedido http al servidor con ciertos parámetros, parseo la respuesta y obtengo la Uri.
Ejemplo: "ftp://nomad5.ncep.noaa.gov/pub/NOMAD_1hr/tdir30-9.2151/"+ ficheroABajar.
La carpeta tdir30-9.2151 es precisamente la que el servidor asigna dinámicamente para que uno tome los datos de allí a través del ftp. Esto funciona perfectamente en una primera ocasión. Ahora bien, como yo debo realizar más de un pedido, me sucede que cuando realizo un segundo pedido http para bajar otros datos, y me cambia solo la carpeta dinámica, en el momento de bajar los datos me lanza la excepción Timeout, pero si detengo el programa, y lo cambio de modo que este segundo pedido se convierta en el primero todo funciona perfectamente. No me explico por qué sucede esto. ¿Tienen respuesta al respecto? Les agradecería que pudieran ayudarme.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:13.