Question

Est-il possible d'effacer toutes les données du site? Je voudrais le faire lorsque l'utilisateur se déconnecte ou la session expire au lieu de charger le navigateur pour ne pas mettre en cache sur chaque demande.

Était-ce utile?

La solution

Pour autant que je sache, il n'y a aucun moyen de charger le navigateur pour effacer toutes les pages qu'il a mises en cache pour votre site. Le seul contrôle que vous, en tant que auteur du site, sur la mise en cache d'avoir une page se produit lorsque le navigateur tente d'accéder à cette page. Vous pouvez spécifier que les versions mises en cache de vos pages doivent expirer à un certain moment en utilisant l'en-tête de Expires, mais même le navigateur ne sera pas réellement effacer la page de son cache à ce moment-là.

Autres conseils

J'espère certainement pas - ce serait donner au site web pouvoirs destructeurs sur la machine client

Si la sécurité est votre principale préoccupation ici, pourquoi ne pas utiliser HTTPS? Les navigateurs ne cache pas le contenu reçu via HTTPS (ou en cache en mémoire uniquement).

Une façon difficile à imiter ce serait d'inclure la session-id en tant que paramètre lorsque vous faites référence tout élément statique de contenu sur le site. Lorsque l'utilisateur établit la session, le navigateur reconnaîtra tous les éléments de contenu en tant que nouveau en raison de l'inclusion de ce paramètre. Pendant la durée de la session du navigateur utilisé le contenu statique dans son cache. Après que l'utilisateur se déconnecte et se connectera de nouveau à nouveau, le paramètre ID de la session du contenu statique sera différent, de sorte que le navigateur reconnaîtra c'est aussi complètement nouveau contenu et télécharger tout nouveau.

Cela étant dit ... c'est un hack et je ne recommanderais pas le poursuivre .. Pour quelle raison voulez-vous le cache de l'utilisateur à effacer après leur session expire? Il y a probablement une meilleure solution qui peut adapter à votre situation par rapport à ce que vous demandez actuellement.

Si vous parlez d'objets de cache asp.net, vous pouvez utiliser ceci:

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

pour supprimer les éléments du cache, mais cela ne peut pas être la pleine mesure de ce que vous essayez d'accomplir.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top