webForumDet fria alternativet

S.k. onlinetabell

ASP

20 svar · 415 visningar · startad av Ekström

Medlem sedan feb. 20022 594 inlägg
Frågan#1

Hej,

Skulle vilja veta mer om hur en sån onlinetabell, som LAMP och Erik Juhlin fungerar skrivit om i denna tråd, fungerar i detalj.

Jag har gjort så att när användaren loggar in så sparas "1" i ett fält som heter intStatus, om man inte är online så är intStatus en nolla: "0". Men jag antar att jag måste byta detta system om jag ändrar till en onlinetabell? Vilken är då den smartaste lösningen?

Medlem sedan mars 20016 260 inlägg
#2

så som du gör...
det är ju bara å köra ut alla recordsets som har en 1:a...

men du får ju ingen tid på hur länge dom varit inloggade (då får du ha ett till fält med datum å tid).

det går väl att strula rundor med nåt application object eller nåt sånt också, men det känns som det här är lättast...

Medlem sedan feb. 20022 594 inlägg
#3

Men alltså, hur ska jag kunna sätta folk till 0 om de varit 1 någon gång och inte loggat ut riktigt? Som LAMP säger i http://www.webforum.nu/showthread.php?s=&threadid=46729 så gör ju global.asa lite som den vill.

Medlem sedan mars 20016 260 inlägg
#4

aha :)
det håller jag inte med om :)
global.asa har alltid fungerat för mig...
men man måste inse att global.asa låter inte sessionen ta slut förrän 30 min efter senaste gången man gjorde nånting aktivt på servern (eller den session.timeout man har satt).
Vill man vara nitisk, så kan man om användaren inte loggar ut, ha ett lite script när han stänger ner fönstret som gör att en liten popup kommer upp som dödar sessionen och sen stängs - detta är jävligt fult dock och jag tror på att fixa koda ordentligt så ska global.asa funka utan några problem (har nog haft 10 olika webbhotell och aldrig haft problem med den).

Medlem sedan feb. 20022 594 inlägg
#5

Kanske det är smart att köra med en onlinetabell för att ta reda på hur länge folk är online och sedan sätta dem offline mha global.asa. Vad tror du om det, Jymdis? :D

Medlem sedan mars 20016 260 inlägg
#6

jepps :)
det är en tanke :)
om du litar på din global.asa så är ju det bättre än sitta å ha onödiga connections till databasen på varje sida..

Medlem sedan feb. 20022 594 inlägg
#7

Jo, men med onlinetabellen så ger jag ju inte 20 gratisminuter till folk som bara låter sidan vara öppen. Aja, får se hur det blir. Skulle vilja veta mer om global.asa's pålitlighet innan några såna beslut tas.

Medlem sedan mars 20016 260 inlägg
#8

Gör ett test på servern - sätt timeouten till 5 min å kolla upp d.. inte så svårt.. Kan du säkert köra nån sorts statistik på eller nåt..

I vilket fall som helst - 20 gratisminuter får du nog leva med - eller rättare sagt - du kan ju ställa ner session.timeouten men det är ju en avvägning mellan hur länge en användare ska kunna läsa en text exempelvis utan att bli utloggad eller som du säger, hur länge användaren ska kunna vara inloggad utan att göra nåt.

Medlem sedan mars 20016 260 inlägg
#9

helt ärligt - nu när jag läser LAMPs inlägg på en annan sida så är det jävligt mycket som ska göras varje gång en användare laddar en sida - inte bara ett par sql kommandon.. jag kan lätt säga att jag skulle inte kodat så.

Medlem sedan feb. 20022 594 inlägg
#10

Nu är det ju så att vår server inte är fungerande. Så jag skulle vilja veta vad ni andra har för erfarenheter av global.asa...

Dina, Jymdis, vet jag ju redan. :) Det har fungerat felfritt för mig också, men då inte i sån stor skala.

Medlem sedan feb. 20022 594 inlägg
#11

Jymdis skrev:

helt ärligt - nu när jag läser LAMPs inlägg på en annan sida så är det jävligt mycket som ska göras varje gång en användare laddar en sida - inte bara ett par sql kommandon.. jag kan lätt säga att jag skulle inte kodat så.

Okej :D

Det har jag redan förstått, farbror Jymdis. :D

Medlem sedan feb. 20022 594 inlägg
#12

Har en ny lösning på mitt problem nu...

Jag lägger till ett fält som heter t.ex. strLatestAction som jag uppdaterar med now() på varje sida. Sedan skulle man kolla om folk var online genom att kolla i databasen efter senaste action, lägga på 10 min på det och kolla om den tiden varit.

Vad tror ni om det? *Hoppas denna lösning är lika bra i vaket tillstånd* :D

Medlem sedan mars 2002777 inlägg
#13

Jymdis skrev:

helt ärligt - nu när jag läser LAMPs inlägg på en annan sida så är det jävligt mycket som ska göras varje gång en användare laddar en sida - inte bara ett par sql kommandon.. jag kan lätt säga att jag skulle inte kodat så.

Vad är det mer som ska göras, än något sql-kommando extra?

Medlem sedan feb. 20022 594 inlägg
#14

Vad tror ni om min lösning? Kommer den att fungera?

http://www.webforum.nu/showthread.php?s=&postid=399520#post399520

Medlem sedan jan. 20022 440 inlägg
#15

hmm länken går till denna tråden ?

Medlem sedan mars 20016 260 inlägg
#16

LAMP:
nån sql-kommando extra?
du får ju köra igenom hela online databasen på varje sida som laddas..
inserta varje gång..

vet inte hur du gör - men jag försöker hålla anslutningar till databasen till ett minimum.

Medlem sedan juni 200032 967 inlägg
#17

Jag hade nog kört på den lösningen. Dels för att jag inte litar på session_onend i global.asa, och dels för att jag normalt inte använder sessions. :)

Mvh,

Medlem sedan jan. 20022 440 inlägg
#18

Men @nders, hur tusan löser du att servern håller reda på vem som är inloggad då?

Medlem sedan juni 200032 967 inlägg
#19

Det är inte servern som håller reda på det, utan det är du och dina SQL-frågor. Istället för att fråga ett Applicationobjekt vilka som är online så ställer du en fråga mot en tabell och frågar "Vilka har varit aktiva de senaste 10 minutrarna?".

Mvh,

Medlem sedan jan. 20022 440 inlägg
#20

...

Suck.... det låter som om jag måste lära om allt jag lärde från början :(

260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)