PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [C#] WebClient().DownloadString()



juRiii
20.02.2010, 16:41
moin,

ich hab da ein problem mitm webclient und downloadstring.

hier ma nen beispiel:



WebClient webClient = new WebClient();
string sourceCode = webClient.DownloadString("http://www.google.de");


angenommen ich rufe diesen code in einer methode irgendwo in meinem tool auf. nach ner stunde rufe ich die gleiche methode nochmal auf, der inhalt der zu downloadenen page hat sich jedoch verändert, der neue string enthält aber die veränderungen nicht, sondern immernoch den status von dem ersten aufruf.

ich kann mir das nicht erklären.. weis jemand rat?

Sawyer
20.02.2010, 16:51
Kann es sein das deine Funktion als static deklariert ist? Das könnte nämlich der Grund sein für dein genanntes Problem.

MfG, Sawyer

inout
20.02.2010, 16:58
(ungetestet)

WebClient webClient = new WebClient();
webClient.CachePolicy = new Cache.RequestCachePolicy(Cache.RequestCacheLevel.N oCacheNoStore)
string sourceCode = webClient.DownloadString("http://www.google.de");

juRiii
20.02.2010, 16:59
ne, die ist nicht static.
die einzigste idea die ich hätte, wäre cache, ich bin eben darauf gestossen:
"CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStor e)"

ich versuch es gleich auszuprobieren

edit: oh :) warst schneller :P
edit2: hm.. damit funktioniert es auch nicht, hätte mich auch gewundert, da ich immer wieder ne neue instanz von webclient anlege :/

btw. meine einzigste static methode ist die main methode, da wird aber auch nur ne neue instanz von der klasse "Program" erzeugt und "process" genutzt

inout
20.02.2010, 17:13
Dann versuchs noch mal mit einem

webClient.Headers.Add("pragma", "no-cache");und leere mal den Cache vom IE.

juRiii
20.02.2010, 17:17
hab beides probiert, funktioniert auch nicht :/