Just nu i M3-nätverket
Gå till innehåll

Set connection = nothing, varför?


Sasja

Rekommendera Poster

Varför ska man egentligen sätta

[color="#0000ff"]Set[/color] connection = [color="#0000ff"]Nothing[/color]

När man använt connection som sin databaskoppling? Man tömmer ju inte variabler, så varför ska man tömma en "set connection"?

 

Länk till kommentar
Dela på andra webbplatser

Varför ska man egentligen sätta

 

Set connection = Nothing

 

När man använt connection som sin databaskoppling? Man tömmer ju inte variabler, så varför ska man tömma en "set connection"?

 

 

Ingen som kan förklara det för lilla mig? =)

 

Länk till kommentar
Dela på andra webbplatser

När du gör set variabel=nothing i VB/ASP så räknas en sk referensräknare ner på objektet. Referensräknaren håller reda på hur många som använder ett objekt och när alla har släppt objektet så når referensräknaren 0 och då kan objektet släppa alla resurser den håller i.

 

Egentligen spelar det ingen roll om du sätter variabeln till nothing eller till något annat, det är genom att du låter variabeln släppa den referens den håller till din databaskoppling som du, något förenklat, extra tydligt talar om att du inte längre bryr dig om din databaskoppling. Om ingen annan heller bryr sig om den (dvs, om du inte har fler variabler som innehåller samma koppling) så kan anslutningen lämnas tillbaka.

 

Förr eller senare görs det nog ändå (och det är därför det inte spelar någon roll för de flesta andra variabler) men iom att du tvingar fram det hela så minskar du risken att du drabbas av problem för att du t.ex bara får ha ett visst antal samtidiga anslutninar mot databasen osv.

 

Ovanstående skrivet ur ett rent VB-perspektiv (influerat av hur "inner workings" av COM fungerar). Det är möjligt att det faktiskt inte alls spelar någon roll i ASP längre, det vet jag inget om.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...