Problem: Ich muss Hunderte von Bildern von verschiedenen Hosts herunterladen. Jeder Host hat irgendwo zwischen 20 und Hunderte von Bildern.Ist WebClient der beste Weg, um http-Daten herunterzuladen?
Lösung: Verwendung eines new WebClient
jedes Mal, wenn ein Bild über die Methode DownloadData
des WebClient heruntergeladen werden muss.
Oder wäre es besser, einen Pool von offenen Socket-Verbindungen zu halten und die http-Anfrage mit niedrigeren Ebenen Anrufe machen?
Ist es teuer, eine TCP-Verbindung zu öffnen/zu schließen (ich nehme an, dass das der WebClient tut), so dass die Verwendung von Pools effizienter klingt?
Der beste Code ist Code, der Ergebnisse erzielt, die Sie brauchen, ohne Fehler in einer Zeit, die Sie brauchen. Kannst du einen Kommentar dazu abgeben, was im Vergleich zu deinem aktuellen Code verbessert werden muss (vorausgesetzt, du hast geschätzt, wie schnell du Bilder herunterladen kannst und deine aktuellen Code-Downloads langsamer als deine Ziele, aber verbesserungsfähig bis du die Netzwerkgrenzen erreichst). –
Ich hätte hinzufügen sollen, dass die Geschwindigkeit von größter Bedeutung ist. – sanjosep43
+1 Sehr interessante Frage. –