/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Sessionen falder ud
Fra : kp


Dato : 12-12-06 21:22

Hej

Jeg bøvler med noget chat, som logges i en Access database. Jeg gemmer og
læser chat-data med en side der refresher for hver 15 sekunder og holder
styr på brugerne ved at sætte deres id i en session ved log-in.

Kalder så den enkeltes data med noget i denne stil:

strSQL = "Select * From chatdata where chatId =" & session("id")

og opdaterer på lignende måde:

strSQL = "Update chatdata o.s.v ... where chatId =" & session("id")

Det kører fint indtil man overstiger 2-3 brugere eller der kommer en på med
en langsom internet forbindelse.

Fejlmeddelesen siger at "chatId =" mangler og når jeg så logger af mangler
Id'en også der altså er det som "id" sessionen er slettet. Jeg har prøvet at
forlænge session timeout, men det gav ingen forskel.

Er der nogen der ved hvad der sker?

Mvh Knud



 
 
Leif Neland (12-12-2006)
Kommentar
Fra : Leif Neland


Dato : 12-12-06 22:28

kp wrote:
> Hej
>
> Jeg bøvler med noget chat, som logges i en Access database. Jeg
> gemmer og læser chat-data med en side der refresher for hver 15
> sekunder og holder styr på brugerne ved at sætte deres id i en
> session ved log-in.
....
>
> Det kører fint indtil man overstiger 2-3 brugere eller der kommer en
> på med en langsom internet forbindelse.
>
> Fejlmeddelesen siger at "chatId =" mangler og når jeg så logger af
> mangler Id'en også der altså er det som "id" sessionen er slettet.
> Jeg har prøvet at forlænge session timeout, men det gav ingen forskel.
>
> Er der nogen der ved hvad der sker?

Hvis "web gardens" er enablet på serveren, kan du få dette symptom.

Det betyder at der er flere processer, der kører webserveren, og hvis
klienten ikke tilfældigvis kommer ind på den samme process, så glemmes
cookien, forde de enkelte processer ikke deler session-data.

Prøv at google efter "sessions web garden"

F.ex. http://support.microsoft.com/kb/822171
Eller
http://blogs.msdn.com/david.wang/archive/2005/09/19/Why_do_I_lose_ASP_Session_State_on_IIS6.aspx


Been there, done that. Jeg måtte disable web gardens...

Leif



kp (13-12-2006)
Kommentar
Fra : kp


Dato : 13-12-06 01:03


"Leif Neland" <leif@neland.dk> skrev i en meddelelse
news:457f1ee5$0$49207$14726298@news.sunsite.dk...
> kp wrote:
gen der ved hvad der sker?
>
> Hvis "web gardens" er enablet på serveren, kan du få dette symptom.
>
> Det betyder at der er flere processer, der kører webserveren, og hvis
> klienten ikke tilfældigvis kommer ind på den samme process, så glemmes
> cookien, forde de enkelte processer ikke deler session-data.
>
> Prøv at google efter "sessions web garden"
>
> F.ex. http://support.microsoft.com/kb/822171
> Eller
> http://blogs.msdn.com/david.wang/archive/2005/09/19/Why_do_I_lose_ASP_Session_State_on_IIS6.aspx
>
>
> Been there, done that. Jeg måtte disable web gardens...
>
> Leif
Ok, tusind tak for hjælpen.
Jeg bruger et frameset, for bla. at kunne udnytte opdateringssiden til andre
ting, og i atiklen står der at sessions variabler er ustabile i frameset.
Jeg har nu lavet Id variablen om til en cookies i stedet og så ser det ud
til at være stabilt.

Mvh Knud



Jens Gyldenkærne Cla~ (13-12-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 13-12-06 10:01

kp skrev:

> Det kører fint indtil man overstiger 2-3 brugere eller der
> kommer en på med en langsom internet forbindelse.

Access er ikke velegnet til at håndtere mange samtidige brugere -
specielt ikke når der skrives til databasen.

Skift til en rigtig flerbrugerbase (fx MySQL eller MSSQL) hvis du
har problemer ved for mange brugere.
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen

Jørn Andersen (13-12-2006)
Kommentar
Fra : Jørn Andersen


Dato : 13-12-06 13:35

On Wed, 13 Dec 2006 10:01:27 +0100, Jens Gyldenkærne Clausen
<jens@gyros.invalid> wrote:

>kp skrev:
>
>> Det kører fint indtil man overstiger 2-3 brugere eller der
>> kommer en på med en langsom internet forbindelse.
>
>Access er ikke velegnet til at håndtere mange samtidige brugere -
>specielt ikke når der skrives til databasen.

Men Access kan dog udnyttes mere eller mindre effektivt.
Nogle ideer kunne være:
- sørg for kun at have connections og recordsets åbne i så kort tid
som muligt
- .GetRows-metoden kan hente data fra et recordset over i et array,
hvorved "åbningstiden" kan blive meget lille
- hent kun nødvendige data: Optimér SQL-forespørgsler, så der fx ikke
bruges "SELECT * ..."
- indeksér de felter i databasen, der søges på, eller som indgår i
relationer

Andre?


Mvh. Jørn

--
Jørn Andersen,
Brønshøj

Kp (13-12-2006)
Kommentar
Fra : Kp


Dato : 13-12-06 21:33


Jørn Andersen skrev:
> Men Access kan dog udnyttes mere eller mindre effektivt.
> Nogle ideer kunne være:
> - sørg for kun at have connections og recordsets åbne i så kort tid
> som muligt
> - .GetRows-metoden kan hente data fra et recordset over i et array,
> hvorved "åbningstiden" kan blive meget lille
> - hent kun nødvendige data: Optimér SQL-forespørgsler, så der fx ikke
> bruges "SELECT * ..."
> - indeksér de felter i databasen, der søges på, eller som indgår i
> relationer
>
> Andre?

Jeg har nu optimeret forespørgslerne så vidt jeg kunne, og tester nu
systemet, som ikke er helt stabilt endnu. Jeg prøver at optimere
forskellige ting endnu.
Ellers må jeg jo igang med at lære mySQL, nogen der kender en god
tutorial?

Mvh Knud


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste