Sasja Posted November 1, 2004 Share Posted November 1, 2004 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"? Link to comment Share on other sites More sharing options...
Sasja Posted November 4, 2004 Author Share Posted November 4, 2004 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? =) Link to comment Share on other sites More sharing options...
fhe Posted November 4, 2004 Share Posted November 4, 2004 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. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.