Question

Le code ci-dessous fonctionnera-t-il si l'horloge du serveur est en avance sur celle du client ?

Response.Cache.SetExpires(DateTime.Now.AddSeconds(-1))

MODIFIER:la raison pour laquelle je demande est que sur l'une de nos applications Web, certains utilisateurs prétendent qu'ils voient les pages (numéros de compte, etc.) d'un utilisateur qui a déjà utilisé cette machine.Pourtant, nous utilisons la ligne ci-dessus et d'autres pour « empêcher » que cela se produise.

Était-ce utile?

La solution

Cette question couvre la garantie qu'une page Web n'est pas mise en cache.Il semble que vous deviez définir plusieurs propriétés pour garantir qu'une page Web n'est pas mise en cache dans tous les navigateurs.

Autres conseils

Votre problème pourrait être dû au fait que le navigateur mémorise les données saisies dans les champs du formulaire.Vous pouvez désactiver cela comme ceci :

<input autocomplete="off">

Pour autant que je sache, le navigateur vérifiera la date d'expiration par rapport à l'horloge locale (bien qu'il tienne compte du fuseau horaire), de sorte que le code de votre question risque de ne pas fonctionner comme prévu si l'horloge du client est inexacte.Le plus souvent, cela se produit lorsque l’heure semble correcte mais qu’elle est réglée sur le mauvais fuseau horaire, ce qui signifie que les horodatages UTC sont en fait décalés de plusieurs heures.

Vous pouvez essayer de définir un horodatage beaucoup plus ancien, par exemple :0000 1er janvier 1970 GMT (époque)

Je pense que le code que vous avez devrait fonctionner avec la mise en cache côté serveur, mais vous pouvez le désactiver plus explicitement avec :

Response.Cache.SetNoServerCaching();
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top