Le développement des deux sites récents m'a donné beaucoup de nouvelles idées ! J'ai aussi lu beaucoup d'excellents codes, mais je n'ai jamais trouvé de modèle qui me convienne ! En m'appuyant sur la conception du cache, il me semble avoir trouvé une façon de penser plus pratique. En fait, les pages statiques ici ne sont pas statiques au vrai sens du terme, mais elles peuvent atteindre l'efficacité d'analyse des pages statiques. Elles n'ont pas été testées par le projet et sont partagées ici.
Copiez le code comme suit :
<%
Const DEVJS_INDEX=index.html
Const INDEX_DEFAULT_INTERVAL=300
Dim sDernière mise à jour
'Utilisez l'application pour enregistrer l'heure de la dernière mise à jour et porter des jugements sur la page, en générant une page toutes les 300 secondes (5 minutes)
sLastUpdate=Application(INDEX_LAST_Update)
Si sLastUpdate= ou DateDiff(s,sLastUpdate,now())>INDEX_DEFAULT_INTERVAL Alors
'Appelez MakeIndex() pour générer la page et modifier l'heure de la dernière mise à jour
MakeIndex()
sLastUpdate=Maintenant()
Application(INDEX_LAST_Update)=sLastUpdate
Response.Write dépasse le temps par défaut, mis à jour dans & sLastUpdate
Autre
Response.Write lit la page statique, mise à jour avec & sLastUpdate
Fin si
Réponse.Write LoadTextFile(Server.MapPath(DEVJS_INDEX),GB2312)
Fonction MakeIndex()
sContent=<hr> & Maintenant()
Appelez SaveTextFile (Server.MapPath (DEVJS_INDEX), GB2312, sContent)
Fonction de fin
%>
Si elle est expirée, mettez à jour la page. Si elle n'est pas expirée, appelez directement la page statique. Deux fonctions sont également utilisées ici. Veuillez noter que SaveTextFile() est écrite dans une méthode d'écrasement.
C'est la phrase oStream.SaveToFile sFilePath,2
Copiez le code comme suit :
<%
Fonction LoadTextFile(sFilePath,sCharset)
Atténuer oStream
Définir oStream=Server.CreateObject(ADODB.Stream)
oStream.Type=2
oStream.Mode=3
oStream.Ouvrir
oStream.Charset=sCharset
oStream.Position=oStream.Taille
oStream.LoadFromFile sFilePath
LoadTextFile=oStream.ReadText
oStream.Fermer
Définir oStream=Rien
Fonction de fin
Fonction SaveTextFile(sFilePath,sCharset,outString)
SaveFile = faux
Atténuer oStream
Définir oStream = Server.CreateObject (ADODB.Stream)
oStream.Type=2
oStream.Mode=3
oStream.Ouvrir
oStream.Charset=sCharset
oStream.WriteText = chaîne de sortie
oStream.SaveToFile sFilePath,2
oStream.Fermer
Définir oStream = Rien
SaveTextFile = vrai
Fonction de fin
%>
C’est moins compliqué que la mise en cache et bien plus simple ! En fait, vous pouvez faire beaucoup de choses dans MakeIndex(), comme lire des fichiers modèles et les remplacer.