Wie kann ich verhindern, dass das Zwischenspeichern von Seiten auf einer Klassischen ASP-app?
Brauche ich einige Seiten nicht zwischengespeichert werden auf einer Klassischen ASP-app, aber ich habe versucht, jede mögliche Kombination von Kopf-und nichts scheint zu funktionieren:
Response.Expires = -1
Response.ExpiresAbsolute = Now() - 1
Response.CacheControl = "no-cache; private; no-store; must-revalidate; max-stale=0; post-check=0; pre-check=0; max-age=0"
Response.AddHeader "Cache-Control", "no-cache; private; no-store; must-revalidate; max-stale=0; post-check=0; pre-check=0; max-age=0" ' Same as previous line, I know, just in case.
Response.AddHeader "Pragma", "no-cache"
Response.AddHeader "Expires", "-1"
Ich habe auch versucht einen Neustart sowohl die website als auch IIS, ohne Erfolg. Wenn ich die Seite verlassen und zurück, um es mit der browser-Schaltfläche "zurück", es muss nicht neu laden.
Was vermisse ich hier?
BEARBEITEN: Nach viel googeln habe ich gefunden und umgesetzt diese JavaScript-Lösung, es ist nicht bullet-proof, da es auf client-Seite, und ich würde lieber eine serverseitige Lösung, aber es macht den job!
Noch, ich würde gerne hören, über alle server-Seite Optionen.
InformationsquelleAutor Estrada | 2012-09-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dem Sie tätig sind unter dem Eindruck, dass das Ergebnis der browser-Schaltfläche "zurück" ist verwandt mit HTTP-caching ist es nicht.
Die Bereitstellung der back-Taste ist in das Ermessen der browser von einem HTTP-stack Sicht der Anwendung. Eine Anwendung hat keine Verpflichtung, zu prüfen, die caching-Anforderungen jeder http-Anforderung(en), die verwendet wurde, um den Inhalt darzustellen von einem Fenster. In der Tat viele Browser sind in der Lage die Anzeige von Inhalten an, die über andere Protokolle als http.
Betrachten das häufigste Szenario für die Verwendung der zurück-Schaltfläche. Ein Benutzer bekommt die Suchergebnisse von einer Suchmaschine (google, bing, ...), klickt auf eines der Ergebnisse, schnell sieht, dass der Inhalt ist nicht das, was Sie gesucht haben, und auf die Schaltfläche zurück klickt. Um optomise die Erfahrung des Benutzers die meisten Browser halten, um viele der Ressourcen (auch das Fenster in dem die Seite gerendert wird), von einer Seite, wenn die navigation von der Seite Auftritt. Den zurück button kann dann umgesetzt werden, indem aus diesen Ressourcen oder auch einfach die original-Fenster wieder sichtbar.
Schöne Erklärung +1 und 100K 🙂
InformationsquelleAutor AnthonyWJones
Scheinen Recht.. versuchen Sie es mit dieser.
Führen Sie diese Anweisung vor senden von HTML an den Benutzer, dass, bevor
Response.Write
oder<%=foo()%>
Korrigiert das falsch geschriebene Wort-Antwort.
Response.Buffer = True
auf der Seite als auch, und Nein, ich habe nicht gesendet irgendetwas an den browser, bevor Sie diese 6 Zeilen. Ich versuchte noch deinen code (mal wieder), aber nichts. An diesem Punkt bin ich fast sicher, dass dieses problem nicht zu tun haben mit dem code, aber mit was?haben Sie versucht, Sie IISRESET ein, und den cache leeren, nachdem Sie Hinzugefügt haben, diese Zeilen ? möglicherweise möchten Sie auch prüfen, die Einstellungen im IIS für die Zwischenspeicherung, welche iis-version Sie verwenden ?
IIS 7.5. Ich habe versucht, IISRESET (was ich davon ausgehen, löscht auch den cache?). Nichts.
InformationsquelleAutor Mortalus
Wenn Sie drücken Sie die zurück-Taste einige browser cach. Es gibt einen Weg, um zu fangen das Ereignis zurück-button des Explorers und etwas tun, konnte aber sein grausam. Können Sie die Daten laden der Seite per AJAX und verhindert die Zwischenspeicherung mit einem randon variable generiert via javascript.
Lassen Sie mich wissen, wenn Sie benötigen, ein Beispiel bitte...
InformationsquelleAutor Torpedo
Zu verhindern, die Besondere Seiten-caching auf einer Klassischen ASP. Versuchen Sie bitte folgenden code:
Fügen Sie obigen code unter Abschnitt.
InformationsquelleAutor Anushri_Systematix