Jag har en databasdriven förstasida som tar lång tid att ladda. Jag funderar på om man skulle "cache'a" den lite smart. Tänkte så att varje gång jag ändrar nåt i databasen som påverkar sidan så går ett script in och plockar "view source" till sidan och sparar ner den i en textfil. Sen visar jag bara textfilen varje gång och får på så sätt en snabbare sida. Sen när databasen öppnas på nytt så skrivs textfilen över. Hoppas nån är med på vad jag menar.
<%
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objTextStream = objFSO.OpenTextFile("default.asp", 1)
textinnehall = objTextStream.ReadAll
objTextStream.Close
Set objTextStream = Nothing
Set objFSO = Nothing
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
set objFile = objFSO.OpenTextFile( "defaulttest.txt", 2 )
objFile.Write textinnehall
Set objFile = Nothing
Set objFSO = Nothing
%>
jag har följande, men då öppnas ju filen direkt och exekveras inte från servern. Jag vill ha view-sourcekoden där all asp-kod har körts liksom. Jag antar att jag måste läsa in sidan på något sätt, men hur?
alltså problemet ligger ju i variabeln strHTML. Om man skriver
objFile.Write "hej" så fungerar det ju precis som jag vill. Måste jag omvandla strHTML för att
objFile.Write strHTML
ska fungera?
Har för mig jag hade liknande problem för nåt år sen. Och om jag inte minns helt fel körde jag resultatet genom denna funktion
Function Unicode(strResponseBody)
Dim i, t
t = String(LenB(strResponseBody), " ")
t = ""
For i = 1 To LenB(strResponseBody)
t = t & Chr(AscB(MidB(strResponseBody, i, 1)))
Next
Unicode = t
End Function
'För att kalla på funktionen...
strHTML = Unicode(strHTML)
Tack Obbelix, det fungerade med din funktion förutom att jag inte fick ut å,ä och ö. Men jag letade lite här på webforum och fick ihop det till slut. Bifogar koden om någon annan behöver en sån här funktion i framtiden:
<%
function BinToText(varBinData, intDataSizeInBytes)
const adFldLong = 128
const adVarChar = 200
set objRS = Server.CreateObject("ADODB.Recordset")
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set testfile= objFSO.CreateTextFile("C:\minfil.txt", True)
testfile.Write strHTML
Set objFile = Nothing
testfile.close
%>
(Funktionen är skriven av solbulle, cred)
260 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25