Error: Se excedió el tiempo de espera de la operación

Iniciado por Skeletron, 8 Febrero 2010, 08:11 AM

0 Miembros y 1 Visitante están viendo este tema.

Skeletron

Hola gente..
Estoy teniendo un problema:
My.Computer.Network.DownloadFile(link, "C:\Picdex\Imagenes\" & ID)

En esa linea, tengo la variable LINK.. lo que hace, es decargar un archivo (digamos que un archivo aleatorio, de una web aleatoria)
Con algunas webs.. muy pocas... pasa lo siguiente:
queda como 15 segundos ahí "descargando", pero luego salta un error: "Se excedió el tiempo de espera de la operación"

Realmente mi problema radica en que me esta haciendo perder mucho tiempo de procesamiento a mis hilos...
Hay alguna manera de hacer que en vez de esperar como 30 segundos, solo espere 10? o anticiparme al problema (por ejemplo: si el archivo no comienza a descargarse rapido, que lo deje)

Gracias!

Keyen Night

La forma que se me ocurre de detectar que no inicia rapido es que coloques un Timer con interval por ejemplo 10seg (10.000) que será el tiempo max para iniciar la descarga, en el sub tick del timer revisar el peso del archivo si es 0 a los diez segundos entonces detienes el hilo...
La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...

Skeletron

SI... Voy a tener que implementar algo por el estilo.
Luego te cuento

Skeletron

Este error sucede cuando dejo al programa trabajando durante mucho tiempo..
Como si en algun momento se cansara de descargar y comenzaran todos los hilos a dar este error (ya sean los hilos que descargar las imagenes a mi pc, como tambien los que descargan el codigo fuente de diversas webs)

La cuestion, es que si detengo el programa, y lo reinicio.. todo comienza a funcionar nuevamente...
Por ende, no creo que sea un problema de los archivos que estan en internet, o de las mismas webs, sino, un problema del programa..

Keyen Night

#4
Entonces esto vendría siendo más o menos otro error del visual :( al parecer (por eso será que algunos lo odian tanto :huh:); Yo te recomiendo una solución que nosé si es la adecuada pero teóricamente funciona, cada X tiempo (no mucho) pon un timer a recrear el hilo y en un list de string guardas los archivos que ya se han descargado de tal forma que el hilo revise el list si ya ha descargado antes el archivo que está por descarga y si es así que se lo salte de está forma los hilos núnca se cansarían por decirlo así.

A por cierto con recrear me refiero a:

Código (vbnet) [Seleccionar]

X.Abort()
X = Nothing
X = New Thread(Address Of Y)
La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...

Skeletron

Sabes que tio, lo sulucione "reiniciando" antes de la descarga, el WEBCLIENT..

O sea, antes usaba el mismo webclient para descargar como 100000000 webs... ahora hago un:
client = new webclient
client.downdloadstring(web)

Con eso se soluciono el problema.

Skeletron

Ups..
Parece que no se soluciono por completo..
Ahora simplemente lo hace cada menos tiempo..
Parece que la solucion esta en manipular mejor las descargas...