Avatar billede clausjul Nybegynder
23. november 2003 - 22:44 Der er 10 kommentarer og
1 løsning

Problemer med database connections / reader efter frigivelsen

Jeg har store problemer med at få min site til at fungerere. På min lokale PC fungerer den helt perfekt uden nogen som helst problemer med databasen connections og readere m.m.

Men på webserveren er det helt galt, når flere bruger min hjemmeside udviklet i ASP.Net. Jeg har gjort det sådan, at der laves en global variabel MySqlConnection (fra ByteFX) i klassen og ved Page_Unload disconnectes databasen. Virker som skrevet fint på min lokale maskine - men på webserveren er den meget ustabil. Hvorfor? Er der nogen som har den samme oplevelse?

Der forekommer også fejl, hvor der står at der er åbne datareadere som ikke er blevet lukket. Jeg har tjekket alle datareadere og disse bliver lukket. Men måske har jeg glemt noget?
Avatar billede odegaard Nybegynder
23. november 2003 - 22:47 #1
det er ikke kun dine readere der skal lukkes, men også dine connections
Avatar billede clausjul Nybegynder
23. november 2003 - 22:48 #2
Alle connections bliver også lukket via Page_Unload
Avatar billede guidmaster Nybegynder
23. november 2003 - 22:49 #3
Jeg bryder mig ikke om at du skriver at du først frigiver din db ressource ved Page_Unload.
Du skal ALTID først åbne din connection lige før du skal bruge den for derefter at lukke den så snart du er færdig med den.
Så prøv at ændre lidt i din kode og du skulle derefter gerne få nogle bedre resultater ;)
Avatar billede clausjul Nybegynder
23. november 2003 - 22:50 #4
Det er mere for at spare connections i connection poolen?
Avatar billede clausjul Nybegynder
23. november 2003 - 22:51 #5
... og hvorfor virker det perfekt på min lokale PC - er det fordi det virker når der kun er en bruger ad gangen?
Avatar billede guidmaster Nybegynder
23. november 2003 - 22:59 #6
Ja det er fordi der kun er en bruger ;)

Db connections er noget af det 'dyreste' der findes når du programmere, så derfor skal du være lidt gode ved dem :D
Avatar billede clausjul Nybegynder
24. november 2003 - 10:30 #7
Nu har jeg lavet det om, så connections / disconnections ligger så tæt på som muligt. Det ser ud til at den fejler ikke mere, men kører noget langsommere... Er det normalt?
Avatar billede odegaard Nybegynder
24. november 2003 - 13:14 #8
Hvis du nu i stedet åbner og lukker flere gange pr. side, så er det meget sandsynligt.
Avatar billede clausjul Nybegynder
24. november 2003 - 13:18 #9
Det er også det, men hvordan løses det bedst? Når en db-connection skal ligge så tæt på udførslen og der er page_load som skal have en connection og en event en connection igen. Så bliver det 2 connections - Er det bedst sådan, at der laves en global mysqlConnection i klassen og så connectionen lukkes de steder, som er nødvendigt i stedet for Page_Unload?
Avatar billede clausjul Nybegynder
24. november 2003 - 15:44 #10
Som udgangspunkt ønsker jeg kun en/to connections hver gang siden loades. Det må være muligt i en aspx-side at lave en connect og til sidst disconnect, som jeg gjorde med Page_UnLoad

Men Page_Unload er vist ikke så godt har jeg erfaret fra jer.

Problemet omhandler siten www.deafhome.dk - og som I kan se, så kører den virkelig langsomt.

Er den bedste løsning at lave en Connection (KUN en) i Page_Load og så medtage Connectionen som parametre til en static metode?
Avatar billede clausjul Nybegynder
11. december 2003 - 11:05 #11
Det ser åbenbart ud til at det er udbyderen som har været langsommere end normalt, så det har ikke noget med programstrukturen at gøre! Hmpf - har godt nok spildt en del tid på det. Ellers tak for kommentarerne.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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