begin process at 2012 02 13 20:01:36
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > PROBLEME DE CACHE IIS, SOLUTION !

PROBLEME DE CACHE IIS, SOLUTION !


 Information sur la source

Note :
Aucune note
Catégorie :Astuces Niveau :Débutant Date de création :12/08/2003 Date de mise à jour :12/08/2003 08:51:54 Vu :12 507

Auteur : Yannick74

Ecrire un message privé
Site perso
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.


 Sources du même auteur

RÉCUPÉRATION DU CODE HTML D'UNE URL VIA JMAIL.

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) ASP.NET - SAVOIR QUAND L'UTILISATEUR FERME LA FENETRE VIA CA... par werdDomain
CLASSE IMBRIQUÉS EN VBSCRIPT DE DOSSIERS (APPLICABLE ASP) par internetdev
Source avec Zip SÉRIALISER / DÉSÉRIALISER DES VARIABLES EN ASP par lejdu
CREATION D'UN AUTOCOMPLETE JQUERY AVEC UN CODE SOURCE ASP ET... par dedebis84
Source .NET (Dotnet) RÉCUPÉRER DES VALEURS D'UNE LIGNE DANS UN DATAGRID APRÈS AVO... par PascalCmoa

Commentaires et avis

Commentaire de apxa le 13/08/2003 14:22:36

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

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 !

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;

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.

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é.

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 :-(

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

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

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,108 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales