O desenvolvimento dos dois sites recentes me deu muitas ideias novas! Também li muitos códigos excelentes, mas nunca encontrei um padrão que me agradasse! Com base no design do cache, parece que encontrei uma maneira mais conveniente de pensar. Na verdade, as páginas estáticas aqui não são estáticas no verdadeiro sentido, mas podem atingir a eficiência de análise das páginas estáticas. Elas não foram testadas pelo projeto e são compartilhadas aqui.
Copie o código do código da seguinte forma:
<%
Const DEVJS_INDEX=index.html
Const INDEX_DEFAULT_INTERVAL=300
Dim sLastUpdate
'Use o aplicativo para salvar o horário da última atualização e fazer julgamentos na página, gerando uma página a cada 300 segundos (5 minutos)
sLastUpdate=Aplicativo(INDEX_LAST_Update)
Se sLastUpdate= ou DateDiff(s,sLastUpdate,now())>INDEX_DEFAULT_INTERVAL Então
'Chame MakeIndex() para gerar a página e alterar o horário da última atualização
CriarIndex()
sLastUpdate=Agora()
Aplicativo(INDEX_LAST_Update)=sLastUpdate
Response.Write excede o tempo padrão, atualizado em & sLastUpdate
Outro
Response.Write lê a página estática, atualizada com & sLastUpdate
Terminar se
Response.Write LoadTextFile(Server.MapPath(DEVJS_INDEX),GB2312)
Função MakeIndex()
sContent=<hr> & Agora()
Chame SaveTextFile(Server.MapPath(DEVJS_INDEX),GB2312,sContent)
Função final
%>
Se estiver expirado, atualize a página. Se não estiver expirado, chame a página estática diretamente. Duas funções também são usadas aqui.
Esta é a frase oStream.SaveToFile sFilePath,2
Copie o código do código da seguinte forma:
<%
Função LoadTextFile(sFilePath,sCharset)
Escurecer oStream
Definir oStream=Server.CreateObject(ADODB.Stream)
oStream.Type=2
oStream.Mode=3
oStream.Open
oStream.Charset=sCharset
oStream.Position=oStream.Size
oStream.LoadFromFile sFilePath
LoadTextFile=oStream.ReadText
oStream.Fechar
Definir oStream=Nada
Função final
Função SaveTextFile(sFilePath,sCharset,outString)
SalvarArquivo=falso
Escurecer oStream
Definir oStream = Server.CreateObject(ADODB.Stream)
oStream.Type=2
oStream.Mode=3
oStream.Open
oStream.Charset=sCharset
oStream.WriteText = outString
oStream.SaveToFile sFilePath,2
oStream.Close
Definir oStream = Nada
SaveTextFile = verdadeiro
Função final
%>
Isso é menos problemático do que armazenar em cache e muito mais simples! Na verdade, você pode fazer muitas coisas em MakeIndex(), como ler arquivos de modelo e substituí-los.