Ich muss eine große Datei (2 GB) über HTTP in einer C# -Konsolenanwendung herunterladen. Problem ist, nach etwa 1.2 GB, läuft die Anwendung aus dem Speicher.Wie lade ich eine große Datei (über HTTP) in .NET herunter?
Hier ist der Code, den ich mit:
WebClient request = new WebClient();
request.Credentials = new NetworkCredential(username, password);
byte[] fileData = request.DownloadData(baseURL + fName);
Wie Sie sehen können ... Ich bin die Datei direkt in den Speicher zu lesen. Ich bin mir ziemlich sicher, dass ich das lösen könnte, wenn ich die Daten in Blöcken aus HTTP lesen und in eine Datei auf der Festplatte schreiben würde.
Wie könnte ich das tun?
Genius zu verwenden. Das hat am Ende einen Traum erfüllt. Danke für Ihre Hilfe! –
FYI. Das Testen einer Klasse wie WebClient, die keine Schnittstellen implementiert, kann eine Herausforderung sein. – Krishter