Avatar billede prof2 Nybegynder
30. april 2007 - 22:23 Der er 3 kommentarer og
1 løsning

Response.redirect før database close?

Hej

Jeg har tænkt på, hvis jeg har en forbindelse til en database åben og skriver Response.redirect inden jeg lukker den, er det så skidt som det lyder?

Altså vil forbindelsen til databasen stadig være åben, eller sørger garbage collectoren for at den bliver lukket?

Hvis jeg følgende pseudo-kode:

databaseCon.open()
databaseCon.doSomething()
...
if (something) {
    database.doSomething()
    response.redirect("side")
}
databaseCon.close()

Er det der korrekt at have to databaseCon.close():
Èn lige før response.redirect, og én tilsidst hvis der ikke redirectes?

Hvad er optimalt at gøre, og hvad er standarden, hvis der findes sådan en?
Avatar billede arne_v Ekspert
30. april 2007 - 22:32 #1
det er daarlig kode

garbage collectoren lukker, men hvis du loeber toer for connections inden du
loeber toer for memory, saa faar du fejl

du kan godt have to Close

men overvej om koden kan restruktureres lidt

evt. til at bruge using statement
Avatar billede arne_v Ekspert
30. april 2007 - 22:37 #2
hm

response.redirect returnerer vel stort set med det samme (fordi den bare
sender en header der faar client til at lave en ny request)

saa er det ikke noget problem
Avatar billede prof2 Nybegynder
30. april 2007 - 22:47 #3
Ja du har nok ret i det sidste du siger der, men kan læse på den using statement, at den vist lige er sagen.

Mange tak for hintet, smid svar for points.
Avatar billede arne_v Ekspert
30. april 2007 - 22:59 #4
svar
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester