Het probleem:
Voor een updater moet ik indien nodig bestanden downloaden van een webserver en deze vervangen met de outdate bestanden.
De bestanden download ik met de volgende code:
De Stream's sluit ik netjes in een finally blok. Bij het eerste bestand gaat het prima, maar bij de 2e krijg ik een TimeOut.De exception word gegooit op het moment dat ik responce.GetResponseStream(); uitvoer.
Leuk, maar wat heb je al geprobeert?
Ik heb de TimeOut propertie al verhoogt van het WebRequest object. Ook het eerder sluiten van de Stream of het helemaal niet wegschrijven, dus niet naar de HDD schrijven, levert geen veranderingen op.
Ook gebruik maken van het WebClient object geeft hetzelfde probleem.
Voor een updater moet ik indien nodig bestanden downloaden van een webserver en deze vervangen met de outdate bestanden.
De bestanden download ik met de volgende code:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| Uri url = new Uri( _root + fileName ); WebRequest request = FileWebRequest.CreateDefault( url ); WebResponse responce = request.GetResponse(); Stream serverFileStream = responce.GetResponseStream(); Stream localFileStream = new FileStream(dest, FileMode.Create); byte[] buffer = new byte[512]; int bytesRead = serverFileStream.Read(buffer, 0, buffer.Length); int totalBytesRead = bytesRead; while( bytesRead > 0 ) { localFileStream.Write( buffer, 0, bytesRead ); bytesRead = serverFileStream.Read( buffer, 0, buffer.Length ); } |
De Stream's sluit ik netjes in een finally blok. Bij het eerste bestand gaat het prima, maar bij de 2e krijg ik een TimeOut.De exception word gegooit op het moment dat ik responce.GetResponseStream(); uitvoer.
Leuk, maar wat heb je al geprobeert?
Ik heb de TimeOut propertie al verhoogt van het WebRequest object. Ook het eerder sluiten van de Stream of het helemaal niet wegschrijven, dus niet naar de HDD schrijven, levert geen veranderingen op.
Ook gebruik maken van het WebClient object geeft hetzelfde probleem.