webclient problem

10/12/2007 - 13:15 von Stefan Braumeister | Report spam
Hi NG,

hat jemand eine Idee was hier im Argen ist:

private void Download()
{
foreach (DownloadItem item in downloadList){
using (WebClient wcDownload = new WebClient())
{
try
{
webRequest (HttpWebRequest)WebRequest.Create(item.location);
webRequest.Credentials CredentialCache.DefaultCredentials;
webResponse (HttpWebResponse)webRequest.GetResponse();
Int64 fileSize = webResponse.ContentLength;

strResponse = wcDownload.OpenRead(item.location);

strLocal = new FileStream(item.destination,
FileMode.Create, FileAccess.Write, FileShare.None);

int bytesSize = 0;
byte[] downBuffer = new byte[4096];

while ((bytesSize = strResponse.Read(downBuffer,
0, downBuffer.Length)) > 0)
{
strLocal.Write(downBuffer, 0, bytesSize);
}
}
finally
{
strResponse.Close();
strLocal.Close();
}
}
}
}

Ich versuche mehrere Dateien herunterzuladen, die erste Datei wird
geladen und landet im Zielverzeichnis. Bei der zweiten Datei bekomme ich
nach gewisser Zeit in: strResponse = wcDownload.OpenRead(item.location);
Einen Timeout. Gestartet wird Download() durch einem Button:

thrDownload = new Thread(Download);
thrDownload.Start();



Grüße Richard
 

Lesen sie die antworten

#1 Stefan Braumeister
10/12/2007 - 13:34 | Warnen spam
Kaum gepostet hab ich es jetzt selbst gesehen. Sorry dafür

Stefan Braumeister schrieb:
Hi NG,

hat jemand eine Idee was hier im Argen ist:

private void Download()
{
foreach (DownloadItem item in downloadList){
using (WebClient wcDownload = new WebClient())
{
try
{
webRequest > (HttpWebRequest)WebRequest.Create(item.location);
webRequest.Credentials > CredentialCache.DefaultCredentials;
webResponse > (HttpWebResponse)webRequest.GetResponse();
Int64 fileSize = webResponse.ContentLength;

strResponse = wcDownload.OpenRead(item.location);

strLocal = new FileStream(item.destination,
FileMode.Create, FileAccess.Write, FileShare.None);

int bytesSize = 0;
byte[] downBuffer = new byte[4096];

while ((bytesSize = strResponse.Read(downBuffer,
0, downBuffer.Length)) > 0)
{
strLocal.Write(downBuffer, 0, bytesSize);
}
}
finally
{
strResponse.Close();
strLocal.Close();



Die zwei Zeilen dazu und schon klappts mit dem Nachbarn:

webResponse.Close();
wcDownload.Dispose();
}
}
}
}

Ich versuche mehrere Dateien herunterzuladen, die erste Datei wird
geladen und landet im Zielverzeichnis. Bei der zweiten Datei bekomme ich
nach gewisser Zeit in: strResponse = wcDownload.OpenRead(item.location);
Einen Timeout. Gestartet wird Download() durch einem Button:

thrDownload = new Thread(Download);
thrDownload.Start();



Grüße Richard

Ähnliche fragen