C# - webbrowser kein cache

Gast #1797174
Lesenswert?

Hallo!

Ich programmiere im Visual Studio 2010 in C# und verwende das webbrowser 
control. Damit rufe ich eine dynamische php seite auf und übergebe 
parameter.
zb: www.meinedomain.com/file.php?wert=10

dies geschieht öfters hintereinander (schleife). nun hab ich das 
problem, dass wenn die url seit programmstart schon einmal aufgerufen 
wurde und noch einmal aufgerufen werden sollte (wenn zum beispiel der 
"wert" der gleiche ist, dass dieses blöde control aus dem cache lädt, 
und die seite nicht mehr aus dem netz bezieht. der webserver empfängt 
die daten also nicht.

kann ich den cache umgehen? im netz find ich keine infos dazu.
ein löschen des IE caches (das controll bettet im prinzip ja nur den IE 
ein) oder eine änderung der IE konfiguration kommt nicht in frage, da 
ich die software weitergeben will und die empfänger evtl den IE nutzen 
bzw den cache aus gutem grund aktiviert haben.

wie kann ich das webbrowser control zwingen die seite jedes mal aus dem 
netz zu beziehen?

grüße
Gast #1797193
Lesenswert?

ja mit navigate.
das ganze system ist noch im aufbau, webserverseitig ist noch nicht viel 
gemacht, deshalb lasse ich mir einfach die aktuelle urzeit zurückgeben, 
dann sehe ich ob die seite neu geladen wurde oder aus dem cache kommt.
#1797201
Lesenswert?

versuch mal das hier (schön mit header und so...)
und sag deinem Browser, er soll doch bitte nichts cachen


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">;
<html xmlns="http://www.w3.org/1999/xhtml">;
<head>
  <meta http-equiv="pragma" content="no-cache"/>
  <meta http-equiv="expires" content="0"/>
</head>
<body>
<?php echo $dieUhrzeit; ?>
</body>
</html>

schönen Gruß
Gast #1797208
Lesenswert?

ok, super, das funktionier mal. danke!

ein großteil ist nun schon mal geschafft. Nun hab ich zusätzlich noch 
eine kommunikation zu einem externen sms gateway, welches ich nicht 
beeinflussen kann. das application interface ist genau gleich wie bei 
meinem webserver, also wird einfach über die adresse übergeben.

von diesem gateway erhalte ich allerdings nur eine zahl ("100") wenn der 
versand klappt. ohne header, ohne body, ohne irgendwelche HTML zeilen. 
nur "100" im klartext. wie gehe ich hier vor?
Gast #1797263
Lesenswert?

ich denke ich hab es jetzt gelöst, auch wenn das vielleicht nicht die 
schönste variante ist.

ich übergebe eine weitere variable, zb "dummy", welche eine fortlaufende 
zahl darstellt. die URL ist also jedes mal ein wenig anderst, das 
webbrowser controll ist gezwungen die seite aus dem netz zu holen.

trotzdem danke für die hilfe,
grüße
Gast #1797300
Lesenswert?

refresh kann nur die aktuelle seite neu laden.
aber sagen wir ich rufe die url mit folgenden werten auf:

10
20
30
40
10

dann würde der zweite 10er aus dem cache geladen werden, mit einem 
refresh würde ich allerdings den 40er laden.
#1797302
Lesenswert?

willst du nur webseiten aufrufen- oder damit wirklich das surfen 
ermöglichen?

Also
soll die webseite im Frontend dargestellt werden oder nur im Backend 
verarbeitet werden?

Wenn nur Backend kann ich dir bei Bedarf ne fertige wget Methode 
zuschicken die einfach nen string der page zurück gibt.
Gast #1797342
Lesenswert?

transistorflüsterer schrieb:
> dann würde der zweite 10er aus dem cache geladen werden, mit einem
> refresh würde ich allerdings den 40er laden.

warum würde er den 40er laden?

Laut msdn müsste er den 10er neu laden:

>Wenn das Steuerelement zu einer Seite navigiert, zeigt es aus Gründen der
>Beschleunigung eine Version aus dem Cache an (sofern verfügbar), anstatt
>die Seite erneut zu downloaden. Die Refresh-Methode zwingt das WebBrowser-
>Steuerelement, die aktuelle Seite durch Downloaden erneut zu laden, sodass
>die neueste Version angezeigt wird.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren