Ich habe eine Liste von URLs, und ich mache ein HTTP-Web-Anfrage-Objekt, und versuche, mich damit zu verbinden, ich habe ein 'Array' von URLs, und ich versuche, mit jedem zu verbinden. Das Ziel ist es zu sehen, welche aus sind.Was ist der einfachste Weg, mehrere Webanfragen hintereinander zu tätigen?
Es funktioniert bereits, aber eine Anfrage startet nur, sobald die letzte endet, also ist es ziemlich langsam arbeiten, etwa zwei Anfragen pro Sekunde.
Ich fragte mich, ob ich etwa 5 Threads nebenher im Hintergrund arbeiten sollte, das würde es 5 mal schneller machen, was die gewünschte Geschwindigkeit ist (ohne das gemeinsame Internetband zu überlasten). Aber ich habe zwei Probleme:
1 - ich weiß nicht einmal, ob es die beste Lösung für mein Problem ist. 2 - Ich habe es einige Male versucht, aber ich bin neu in .NET Framework und habe noch nie Multi-Thread verwendet. also weiß ich nicht, wie ich es leicht machen würde.
Ich habe eine Funktion start(), und es hat eine For, die durch alle Überprüfung der Existenz der URL geht.
Daten: VS 08, .NET 3.5, C#.
- [Bearbeiten] -
Kann mir jemand sagen (mit Code-Beispiel, wenn möglich), wie fünf (nicht so viele wie möglich) Fäden in Background zu benutzen? Was ist mit dem Start gleich nach der letzten Bearbeitung?
Ich verwende derzeit einige Hintergrundarbeiter, und es funktioniert, aber ich bin mir nicht sicher, dass es wirklich so viele Male schnell ist, wie ich Hintergrundarbeiter habe. Ist das "app.config" auch für Windows-Formulare? – Marcelo
Die App.config funktioniert für Winforms. Die standardmäßige maximale Verbindung ist 2 pro IP, was den Effekt von zusätzlichen Hintergrundarbeitern maskieren kann. –