---
title: "Offline efter Session.TimeOut"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/156015-offline-efter-session-timeout/page2"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "SGuncel"
published: "2007-01-16T11:12:19.000Z"
updated: "2007-02-06T09:31:36.000Z"
replies: 51
views: 1788
page: 2
pages: 3
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/156015-offline-efter-session-timeout"
---

# Offline efter Session.TimeOut

_Sida 2 av 3._

## #21 — SGuncel, 2007-01-24T11:23Z

Ingeting händer :(
Finns det inte något annat lösning?

Permalänk: https://www.webforum.nu/p/1926161

## #22 — @nders, 2007-01-24T11:26Z

Koden triggas inte när du stänger webbläsaren, bara så du vet. Servern har ingen aning om huruvida ditt fönster är öppet eller inte. Session_onEnd körs när sessionen dör, dvs antingen vid timeout eller om man kör session.abandon i asp-koden.

Permalänk: https://www.webforum.nu/p/1926162

## #23 — SGuncel, 2007-01-24T12:00Z

Hur ska jag göra så att statusen nlir Offline när man stänger webbläsaren?

Permalänk: https://www.webforum.nu/p/1926169

## #24 — @nders, 2007-01-24T12:05Z

Du får labba med javascript-eventet *onunload*. Sök på det här i asp-forumet så får du en massa läsbart om andra som undrat samma sak.

Permalänk: https://www.webforum.nu/p/1926171

## #25 — SGuncel, 2007-01-24T12:32Z

När du satt koden upddaterar när sessionen tar slut. Har testat det också men det fungerar inte heller.

Permalänk: https://www.webforum.nu/p/1926184

## #26 — @nders, 2007-01-24T12:38Z

Fungerar alltså koden när du lägger den på en separat webbsida och kör den i webbläsaren?

Permalänk: https://www.webforum.nu/p/1926187

## #27 — SGuncel, 2007-01-24T14:47Z

Nej, har testat allt men det fungerar inte.

Permalänk: https://www.webforum.nu/p/1926227

## #28 — @nders, 2007-01-24T14:49Z

Ok. På vilket sätt fungerar det inte när du kör koden på en egen sida? Felmeddelande?
Du har plockat bort "sub session_onend" och "end sub" ur koden när du kör den för sig själv?

Hjälp oss att leta efter felen på rätt ställe...

Permalänk: https://www.webforum.nu/p/1926229

## #29 — SGuncel, 2007-01-24T16:10Z

Jag har testat med att:
Lämna rutan kvar tills session tar slut
Stänga webbläsaren
För att om statusen ändras, men inget av dom händer och får inte felmeddelande.

Permalänk: https://www.webforum.nu/p/1926248

## #30 — @nders, 2007-01-24T17:55Z

Jag vet inte om du missuppfattar mig, så jag försöker igen. 

Gör en sida som heter poo.asp:

```
Dim ObjConn
Set ObjConn = Server.CreateObject("ADODB.Connection") 
ObjConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\home\xxx\xxx\xxx.xx\xxx\xxxx.mdb;"

Dim strSQL
strSQL = "UPDATE TLUsers SET UsrStats='Offline' WHERE LastUsrLogin<#"& DateAdd("n",Now(),-15) &"#"
ObjConn.Execute(strSQL)

ObjConn.Close
Set ObjConn = Nothing
```

Kör den sidan. Får du något felmeddelande? Uppdateras något?

Permalänk: https://www.webforum.nu/p/1926275

## #31 — SGuncel, 2007-01-24T18:11Z

Får inget felmeddelande och inget uppdateras.

Permalänk: https://www.webforum.nu/p/1926281

## #32 — @nders, 2007-01-24T19:18Z

Och du har poster i databasen som skulle uppdateras, dvs där LastUsrLogin är tidigare än för femton minuter sedan?

Permalänk: https://www.webforum.nu/p/1926300

## #33 — SGuncel, 2007-01-24T20:22Z

Japp, men har kolumen LastUsrLogin där det står vilken datum/tid användaren har loggat in. Session timmen är 15 min, när session dör eller när man bara stänger webbläsaren ska användarens status ändras till offline. kolumnen hetre UsrStats.

Permalänk: https://www.webforum.nu/p/1926314

## #34 — @nders, 2007-01-25T04:39Z

Du menar alltså, att när du kör en SELECT-fråga med samma villkor som UPDATE-frågan så får du poster tillbaka, men inga av dessa poster uppdateras när du kör din UPDATE?

(Om du nu bara ska uppdatera vilka poster som helst i session_onend i global.asa, varför sköter du inte bara det i presentationen istället? Dvs, när du ska visa vilka som är online, hämta bara en lista över de som varit aktiva den senaste kvarten? Som du kunnat läsa i många trådar här på webForum som handlar om samma sak; man kan inte alltid lita på att session_onend körs.)

Permalänk: https://www.webforum.nu/p/1926413

## #35 — SGuncel, 2007-01-25T11:10Z

Det jag menar t.ex. när tre användare loggar in samtidigt vid klockan 12:05.
Och sen vid 12:10 stänger två användare sina webbläsare o den tredje lämnar bara webbläsaren kvar och hans/hennes session dör. Så 12:25 dör allas session och efter vill jag att deras status ska bli Offline från Online.

Men hur menar du det du sa med de senaste kvarten?

Permalänk: https://www.webforum.nu/p/1926492

## #36 — @nders, 2007-01-25T11:17Z

Jag förstår vad du menar att du vill ska hända. Jag försöker dock få dig att testa lite alternativ, för att hitta felen i koden!

Om du skriver ut SQL-frågan med response.write istället för att exekvera den, så ser du ju vad den försöker göra. Den ska sätta alla användare offline, som senast loggade in för mer än femton minuter sedan.

Det jag ser nu är dock är att du har fel ordning på parametrarna i DateAdd. Skall vara:

```
DateAdd("n", -15, Now())
```

Sådant är mycket enklare att fånga upp när man skriver ut sin SQL-fråga med response.write istället för att exekvera den. Testa!

> Men hur menar du det du sa med de senaste kvarten?

Om du loggar allt folk gör i en tabell så är det ju enkelt att bara hämta ut de som varit aktiva inom en kvart. Om du sätter folk till offline beroende på när de loggade in, så menar du alltså att man inte får besöka siten mer än en kvart i sträck.

Permalänk: https://www.webforum.nu/p/1926497

## #37 — SGuncel, 2007-01-25T22:20Z

Gjorde som du sa ocj jag fick ut: 2007-01-25 23:03:02 och jag logga in 23:17..
Vilket sätt skulle du rekomendera?

Jo, självklart ska dom få besöka sidan mer än en kvar :)

Permalänk: https://www.webforum.nu/p/1926676

## #38 — SGuncel, 2007-01-29T07:41Z

T.ex. om jag vill att användarens status ska ändras bara när han/hon sänger webbläsaren och inte när Sessionen tar slut.
Och sen undrar jag hur man gör så att Sessionen ska aldrig ta slut?

Permalänk: https://www.webforum.nu/p/1927472

## #39 — @nders, 2007-01-29T07:49Z

> Vilket sätt skulle du rekomendera?

Jag skulle loggat all aktivitet (=sidläsning) någonstans, och sedan hämta en lista över alla som varit aktiva den senaste kvarten, från den loggen. 

> T.ex. om jag vill att användarens status ska ändras bara när han/hon sänger webbläsaren och inte när Sessionen tar slut.

Då får du söka, och läsa lite, om *onunload*, som jag skrev tidigare.

> Och sen undrar jag hur man gör så att Sessionen ska aldrig ta slut?

Du får öka sessionstimeouten.

```
Session.Timeout = 2400
```

(anges i minuter.) Det finns alltså inget "aldrig" i detta fall.

Permalänk: https://www.webforum.nu/p/1927473

## #40 — SGuncel, 2007-01-30T12:51Z

Då menar du typ så här:
Kolumnen: LastUsrLogin
Sen skapa en kolumn som heter: LastUsrActive

Permalänk: https://www.webforum.nu/p/1927918

---

Tråden på webben: https://www.webforum.nu/amne/asp/156015-offline-efter-session-timeout/page2  
Föregående sida: https://www.webforum.nu/amne/asp/156015-offline-efter-session-timeout.md  
Nästa sida: https://www.webforum.nu/amne/asp/156015-offline-efter-session-timeout/page3.md
