Lad os sige jeg har en forbindelse, som jeg kalder "conn" og et recordsæt, jeg kalder "rs" på side 1. Disse åbner jeg og redirect'er til side 2 uden at lukke dem inden.
På side 2 lukker jeg så:
Set rs = Nothing conn.Close Set conn = Nothing
Men er det den samme forbindelse, jeg lukker, som jeg åbner? Eller er der blevet skabt to forskellige recordsæt og databaseforbindelser på trods af, at de har samme navne?
1) Det er vigtigt at frigive en ressource så snart du er færdig med den. Det gælder også recordsets og databaseforbindelser. 2) De variable du bruger på side1 findes ikke på side2 (selv om du anvender samme navne). Hvis du vil overføre dit recordset fra side1 til side2, kan du gemme det i en Session variabel. F.Eks: På side1: Set Session("mit_recordset")=rs og på side2: set rs=Session("mit_recordset")
Det er vigtigt at lukke forbindelsen fordi den ikke bliver lukket selv om rs og conn dør. rs og conn forsvinder, men de ressourcer de optager bliver ikke frigivet (recordsettet og databasen bliver ikke lukket). Hvis du bruger en Access database, kan du se det ved at lave en lille test. I mappen med databasen bliver der nemlig oprettet en databasenavn.ldb fil når databasen er i brug. Lav først din side med kode til at lukke recordset og database og kør siden - ldb filen oprettes og forsvinder med det samme igen. Fjern derefter den kode som lukker recordsettet og databasen og kør siden igen - ldb filen forsvinder ikke.
Men jeg går ikke ud fra, at alle de almindelige variabler stadig ligger i hukommelsen, når en ny side hentes... Derfor er det dog godt, som du siger, at få frigivet flest mulige resourcer. Er der i øvrigt en nem måde at tømme alle variabler på, i stedet for:
Hvis det er et stort problem for dig kan du flytte til asp.net... .Net har noget der hedder Garbage Collection... der behøves man slet ikke at tænke over sådan noget med at tømme eller nedlægge variabler
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.