---
title: "uppdatera sida lätt"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/126753-uppdatera-sida-lätt"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "whistler1"
published: "2005-04-20T09:47:57.000Z"
updated: "2005-04-22T23:13:56.000Z"
replies: 13
views: 396
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/126753-uppdatera-sida-lätt"
---

# uppdatera sida lätt

## #1 — whistler1, 2005-04-20T09:47Z

Hej

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.

Permalänk: https://www.webforum.nu/p/126753

## #2 — whistler1, 2005-04-20T10:03Z

\<%
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?

Permalänk: https://www.webforum.nu/p/1597306

## #3 — whistler1, 2005-04-20T10:18Z

testade: 

\<%

Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objHTTP.Open "GET", "http://www.minhemsida.com/default.asp",False
objHTTP.Send
strHTML = objHTTP.ResponseText
Set objHTTP = Nothing

textinnehall = strHTML

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
set objFile = objFSO.OpenTextFile( "defaulttest.txt", 2 )

objFile.Write textinnehall

Set objFile = Nothing
Set objFSO = Nothing
%\>

men det fungerade inte. tips?

Permalänk: https://www.webforum.nu/p/1597312

## #4 — @nders, 2005-04-20T10:20Z

För att exekvera en kodfil:

```
Server.Execute("fil.asp")
```

Permalänk: https://www.webforum.nu/p/1597314

## #5 — whistler1, 2005-04-20T10:28Z

tack, men hur får jag ner det i en textfil sen då?

Permalänk: https://www.webforum.nu/p/1597318

## #6 — @nders, 2005-04-20T10:30Z

Jag tror jag missuppfattade dig. Jag trodde du hade den färdigcacheade informationen i textfilen?

På vilket sätt fungerade inte ditt senaste kodexempel?

Permalänk: https://www.webforum.nu/p/1597319

## #7 — whistler1, 2005-04-20T10:35Z

Aha :)

Koden ger följande felmeddelande: "Invalid procedure call or argument " på rad objFile.Write textinnehall

Om man däremot lägger till htmlencode så fungerar det bra, förutom att alla taggar förstås försvinner, men jag vill ju ha dem :)

\<%

Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objHTTP.Open "GET", "http://www.minhemsida.com/default.asp",False
objHTTP.Send
strHTML = objHTTP.ResponseText
Set objHTTP = Nothing

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
set objFile = objFSO.OpenTextFile( "defaulttest.txt", 2 )

objFile.Write (Server.HTMLEncode(strHTML))

Set objFile = Nothing
Set objFSO = Nothing
%\>

Permalänk: https://www.webforum.nu/p/1597322

## #8 — J.N., 2005-04-20T12:57Z

HEJ!

Ett alternativ är att använda FSO och TextStream.

<http://www.devguru.com/Technologies/vbscript/quickref/filesystemobject.html>
<http://www.devguru.com/Technologies/vbscript/quickref/textstream.html>

Permalänk: https://www.webforum.nu/p/1597361

## #9 — whistler1, 2005-04-20T13:16Z

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?

Permalänk: https://www.webforum.nu/p/1597367

## #10 — Jack, 2005-04-20T13:58Z

prova cstr(strHTML)

Permalänk: https://www.webforum.nu/p/1597384

## #11 — whistler1, 2005-04-20T14:50Z

fungerade inte heller tyvärr... samma fel "Invalid procedure call or argument"

Permalänk: https://www.webforum.nu/p/1597401

## #12 — whistler1, 2005-04-20T14:55Z

det funkar när jag testar med en annan enkel asp-fil, men det tycks vara något i koden på den sida jag försöker hämta som strular.

Permalänk: https://www.webforum.nu/p/1597404

## #13 — Obbelix, 2005-04-20T15:12Z

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)
```

Permalänk: https://www.webforum.nu/p/1597409

## #14 — whistler1, 2005-04-22T23:13Z

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")
  
  objRS.Fields.Append "txt", adVarChar, intDataSizeInBytes, adFldLong
  objRS.Open
  
  objRS.AddNew
  objRS.Fields("txt").AppendChunk(varBinData)
  tmp = objRS("txt").Value
  objRS.Close
  BinToText = tmp
end function

Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objHTTP.Open "GET", "http://www.minhemsida.com/minsida.asp", False

objHTTP.setRequestHeader "Content-type","text/html"

objHTTP.Send

strHTML = BinToText(objHTTP.responseBody,35000)

Set objHTTP = Nothing
'response.write strHTML

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)

Permalänk: https://www.webforum.nu/p/1598548

---

Tråden på webben: https://www.webforum.nu/amne/asp/126753-uppdatera-sida-lätt
