Avatar billede yada Nybegynder
12. oktober 2006 - 09:30 Der er 3 kommentarer

Eksekvering af kode i Session_end i global.asax

Jeg arbejder pt. med en hjemmeside hvor brugere skal have mulighed for at se hvilke andre brugere der er online i en venneliste.

Jeg ønsker altså at sætte et flag i databasen ud for den givne bruger når vedkommendes session slutter i Session_end eventen i global.asax.

public void Session_End (object sender, EventArgs e)
{
Database.ExecuteNonQuery("UPDATE AccessUser SET AccessUserLoggedIn = 'false' WHERE AccessUserID = 2865", "Access.mdb");   
}

Problemet er at intet bliver opdateret i databasen når session slutter.

Jeg har testet med at oprette en text fil sessionslut.txt for at sikre mig at session slutter. Og ovenstående kode virker alle andre steder i koden.

Mit spørgsmål er selvfølgelig om der er nogen der har en ide om hvorfor denne kode ikke bliver eksekveret.

er der en eller anden form for timeout på kodeeksekvering i en event som denne?

eller er der en eller anden form for scope som bliver overskredet?
Avatar billede clausc Nybegynder
12. oktober 2006 - 12:16 #1
Session_end virker kun som du forventer hvis sessionen explicit bliver lukket. Hvis brugeren bare navigerer væk fra siden eller lukker browseren får du ikke eventen før session'en timer ud.

Det grænser i mine øjne til at være en ubrugelig event...
Avatar billede clausc Nybegynder
12. oktober 2006 - 12:18 #2
Ah, glemte lige:
Timeout er ca 20 min som default
Avatar billede yada Nybegynder
12. oktober 2006 - 12:46 #3
Jeg er med så langt og for at teste har jeg sat timeout til 1 minut i Session_start.
Den opretter også filen sessionslut.txt så jeg ved at eventen bliver eksekveret.

Den kan åbenbart bare ikke finde ud af at kontakte databasen.

Men jeg synes det er mærkeligt.
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