Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

PROBLEME DE CACHE IIS, SOLUTION !


Information sur la source

Catégorie :Astuces Niveau : Débutant Date de création : 12/08/2003 Date de mise à jour : 12/08/2003 08:51:54 Vu : 9 290

Note :
Aucune note

Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

Description

N'avez vous jamais eut des soucis de rafraichissement de vos pages ?
Parfois avec IIS et Internet Explorer 5 et + côté client, les page ASP ne semblent plus se réexecuter !

Ayant rencontré ce problème sur un serveur mutualisé, j'ai adopté une méthode radicale (un peu bourrin mais efficace) :

Sur tous les liens, je rajoute un paramètre supplémentaire = now() !

De cette manière, IIS et Internet Explorer sont duppés, l'URL semble toujours nouvelle ! (now() retourne la date et l'heure jusqu'à la centième de seconde)

Là, on est certain que la page serra bien rafraichie.

Même pour les Formulaires, je rajoute le paramètre dans l'action.


 

Source

  • ' *************************
  • ' * *
  • '* Problème de rafraichissement *
  • ' * *
  • ' *************************
  • ' Sur un lien classique :
  • <a href="listingdomaine.asp?debug=<%=now()%>" target="_top">Retour au listing des domaines</a>
  • ' Sur un Redirect
  • <%
  • Response.Redirect("listingdomaine.asp?filtre=OFF&debug="& now() )
  • %>
  • ' Sur un formulaire :
  • <form method="post" action="save_modifierdomaine.asp?debug=<%=now()%>" id="form1" name="form1">
'  *************************
' *                                           *
'* Problème de rafraichissement  *
' *                                           *
'  *************************

' Sur un lien classique :

<a href="listingdomaine.asp?debug=<%=now()%>"  target="_top">Retour au listing des domaines</a>


' Sur un Redirect
<%
Response.Redirect("listingdomaine.asp?filtre=OFF&debug="& now() )
%>

' Sur un formulaire :
<form method="post" action="save_modifierdomaine.asp?debug=<%=now()%>" id="form1" name="form1">


 

Conclusion

Voilà, peut être qu'il y a une astuce pour qu'automatiquement tous les liens des pages prennent ce paramètre supplémentaire.

Si vous avez cette astuce, faites moi en part ! Merci.
 

Commentaires et avis

signaler à un administrateur
Commentaire de apxa le 13/08/2003 14:22:36

Tu as aussi tout simplement PRAGMA: NO-CACHE a foutre dans l'entete.

signaler à un administrateur
Commentaire de Yannick74 le 13/08/2003 14:27:54

Merci ! lol
Même avec la petite entête sympathique (expire now()-1 ....) ça se met parfois en cache.
Donc c'est en plus !

signaler à un administrateur
Commentaire de Mercury le 20/08/2003 11:45:00

Marche trés bien ça en entête de page :

&lt;%
'Supprime la page du cache du navigateur.
Response.Expires = -1
Response.AddHeader "Pragma", "no-cache"
Response.AddHeader "cache-control", "no-store"
%&gt;

signaler à un administrateur
Commentaire de apxa le 20/08/2003 12:08:28

Moi je l'ai directement foutu dans les param de IIS.
D'ailleur est ce ke vs savez comment faire fonctionner IIS sur Xp Home j'ai tester le truc de www.asp-php.net mais bof je n'arrive tjrs po a acceder à l'admin de IIS en fait des ke suis rentre dedans il ne trouve aucun serveur et des ke je me connect sur la machine 127.0.0.1 avec administrateur ca ne marche po non plus.

signaler à un administrateur
Commentaire de Mercury le 20/08/2003 20:37:49

Non. Dans la logique, XP Home n'est pas prévu pour supporter IIS. Les boudilles ne fonctionnent pas non plus (j'ai déjà essayé). Le seule solution, re-passer sous 2000 (avec SP4 c'est le top), ou bien trouver un XP Pro ... Désolé.

signaler à un administrateur
Commentaire de Chrigou le 21/08/2003 13:35:14

Moi j'ai:
Response.AddHeader "pragma","no-cache"
Response.CacheControl = "no-cache"
Et ce sont les seules lignes qui évitent véritablement la mise en cache.
Avec ceci, le javascript "history.back()" ne fonctionne plus la même chose... Il recharge la page depuis le serveur :-(

signaler à un administrateur
Commentaire de Mercury le 22/08/2003 11:28:21

Normal Chrigou que ton browser recharge la page depuis le serveur, car tu lui demandes de ne pas la garder dans le cache ... C'est clair qu'on ne peut pas avoir le beurre et l'argent du beurre  lol

signaler à un administrateur
Commentaire de fabrice69 le 03/09/2003 00:57:00 administrateur CS

J'utilise le même systeme pour un autre but, l'affichage d'image (dont l'URL est dans une base).
En effet, je veux conserver le cache pour eviter au client de DL plusieurs fois le meme fichier inutilement. En revanche dans le cas d'une MAJ de l'image (qui garde tjs le meme nom), je veux que le client alors rafraichisse l'image.

Possible uniquement par l'ajout comme le fait ici Yannick dans sa source.
Donc le No-Cache n'est pas la solution à tous les cas.

F___

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.