Hi,
vielen Dank für die Antwort und dafür das du es auch extra ausprobiert hast!
ich habe mal versucht dein problem nachzuvollziehen,
allerdings kann ich deinen fehler nicht reproduzieren. bei mir
laufen die abfragen recht schnell (ich lasse mir aber auch nur
den quelltext der seiten ausgeben).
Ja, das mache ich auch - allerdings geht es bei mir nicht um „normale“ Seiten - die innerhalb weniger Sekunden geladen sind.
Wir haben in der Uni ein Portal bei dem man sich für Kurse anmelden muss. Die Freischaltung erfolgt dann z.B. um 7 Uhr morgens und unzählige Studenten versuchen sich anzumelden, da die Plätze beschränkt sind. In diesem besonderen Fall dauert eine Anfrage an den Server schon so um die 1-2 Minuten (daher auch die hohen Timeouts - nicht für normale Websites, die hat er auch sofort geladen). Obwohl das Programm viel schneller reagieren kann (die Anmeldung besteht aus mehreren Websites durch die man sich durchklicken muss) und mit Hilfe von Threads sogar bis zu 10 Anmeldeanfragen parallel gestellt hat (oder hindert diese Maßnahme mehr als sie nützt?) war man mit dem Browser in der Regel trotzdem schneller mit der Anmeldung.
An sich müsste das Programm doch auch einen Vorteil gegenüber dem Browser haben, da es die Daten gar nicht groß parsen und anzeigen muss, sondern direkt zu den relevanten Stellen springen kann.
probier doch mal die neuen versionen von den beiden klassen
aus.
WebRequest /*bzw.*/ WebResponse
.
Leider ist im Moment keine Anmeldephase mehr, sodass ich im Moment nicht testen kann, da ich keine so überlastete Website sonst kenne^^
ansonsten würde mir auf die schnelle nur einfallen, die daten
vorher zu cachen bevor du sie verarbeitest…
Wie meinst du das - ich brauche doch den ganzen Code - da ich ja vorher nicht weiß an welcher Position die relevanten Informationen kommen.
Ich glaube auch nicht dass das runterladen des Codes so langsam ist (das sind ja immer nur ein paar kb) sondern es dauert einfach nur ewig bis der Server sich einem zuwendet und überhaupt was schickt. Hatte vielleicht gedacht das Firefox irgendwie die Anfrage schon anders stellt (z.B. die Daten gezippt anfordern) - sodass diese Anfrage eine höhere Priorität erreicht?
Ich habe auch mal mit dem folgenden Code versucht die Geschwindigkeit beim downloaden von richtigen Daten zu vergleichen (WebClient basiert auf der neueren Version WebRequest):
WebClient downloader = new WebClient();
Console.WriteLine("Starte mit Download!");
downloader.DownloadFile("http://phong.informatik.uni-leipzig.de/~kuska/update/mathandc.pdf ", "C:\\Test.pdf");
Console.WriteLine("Fertig mit Download!");
Dabei brauchte das Programm so zwischen 12-21 Sekunden, Firefox etwa 3-8 Sekunden. Allerdings weiß ich nicht wie vergleichbar die Werte sind, da Firefox die Daten ja auch Cachen kann.
Viele Grüße
Manny