Domanda

E 'possibile cancellare tutte le cache del sito? Vorrei fare questo quando l'utente si disconnette o la sessione scade invece di istruire il browser a non memorizzare nella cache su ogni richiesta.

È stato utile?

Soluzione

Per quanto ne so, non c'è modo per istruire il browser per cancellare tutte le pagine che ha nella cache per il sito. L'unico controllo che voi, come un sito web dell'autore, dispone di più di caching di una pagina si verifica quando il browser tenta di accedere a quella pagina. È possibile specificare che le versioni cache delle pagine dovrebbero scadere ad una certa ora utilizzando l'intestazione Expires, ma anche allora il browser non sarà effettivamente cancellare la pagina dalla cache in quel momento.

Altri suggerimenti

Io certamente non spero - che darebbe il sito web di poteri distruttivi sulla macchina client

!

Se la sicurezza è la preoccupazione principale qui, perché non usare HTTPS? Browser non contenuto della cache ricevuti tramite HTTPS (o memorizzare nella cache solo in memoria).

Un modo difficile da imitare questo sarebbe quello di includere il session-id come parametro quando si fa riferimento qualsiasi pezzo statica del contenuto del sito. Quando l'utente stabilisce la sessione, il browser riconoscerà tutti i pezzi di contenuto come nuova causa dell'inclusione di questo parametro. Per tutta la durata della sessione del browser utilizzato il contenuto statico nella sua cache. Dopo che l'utente si disconnette e registra di nuovo di nuovo, il parametro session-id per i contenuti statici sarà diverso, in modo che il browser riconosca questo è come completamente nuovi contenuti e scaricherà tutto di nuovo.

Detto questo ... questo è un hack e non consiglio perseguirlo .. Per quale motivo vuoi la cache dell'utente per essere cancellato dopo la sessione scade? C'è probabilmente una soluzione migliore che può andare bene la vostra situazione al contrario di quello che si sta chiedendo.

Se si sta parlando di oggetti della cache asp.net, è possibile utilizzare questo:

    For Each elem As DictionaryEntry In Cache
      Cache.Remove(elem.Key)
    Next            

per rimuovere elementi dalla cache, ma che non può essere il full-misura di ciò che si sta cercando di realizzare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top