101 messaggi dal 03 gennaio 2002
www.f1grandprix.it
ciao a tutti,
è possibile con uno script limitare il numero di utenti connessi in contemporanea ad una pagina ASP?
In pratica se è già stato raggiunto il limite deve apparire la scritta ("Troppo utenti connessi, riprova più tardi")

ciao!

Maurizio Manna
http://www.f1grandprix.it
823 messaggi dal 05 agosto 2002
Basta contarli ...

Stick to your guns.
Formazione su MySQL o Firebird? Contattami!
101 messaggi dal 03 gennaio 2002
www.f1grandprix.it
con le sessioni e poi? Non rischio di inibire l'accesso anche agli altri già connessi? la pagina è dotata di un refresh automatico...

Maurizio Manna
http://www.f1grandprix.it
3.122 messaggi dal 16 maggio 2002
Potresti fare un vettore contenente gli id delle sessioni attive e far entrare uno solo se il suo id di sessione sta nel vettore. Se il vettore è pieno non fai entrare altri.
Ovviamente devi poi implementare il tutto anche nel global.asa.
In alternativa al vettore puoi anche usare un oggetto dictionary, più comodo da trattare.

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!
101 messaggi dal 03 gennaio 2002
www.f1grandprix.it
Raynor ha scritto:
Potresti fare un vettore contenente gli id delle sessioni attive e far entrare uno solo se il suo id di sessione sta nel vettore. Se il vettore è pieno non fai entrare altri.
Ovviamente devi poi implementare il tutto anche nel global.asa.
In alternativa al vettore puoi anche usare un oggetto dictionary, più comodo da trattare.


purtroppo non ho mai usato i vettori in vbscript, puoi farmi un esempio? con le sessioni lo stato dell'utente viene aggiornato automaticamene vero? Quindi se un utente chiude il browser la sua sessione viene eliminata?

ciao!

Maurizio Manna
http://www.f1grandprix.it
3.122 messaggi dal 16 maggio 2002
Ti conviene utilizzare un oggetto dictionary residente sul server, è più comodo di un vettore. Come chiave userai l'id di sessione e come valore puoi mettere quello che vuoi, tanto non ci importa quello, ci importa la sola presenza dell'id di sessione.
Se un utente chiude TUTTE le finestre del browser allora la sua sessione non scade ma lui, ricollegandosi, avrà un id di sessione diverso, come se fossero due utenti diversi. In alternativa puoi usare l'indirizzo IP al posto dell'id di sessione... ma potresti avere problemi se più utenti si collegano da una LAN con uno stesso router..

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!
101 messaggi dal 03 gennaio 2002
www.f1grandprix.it
che ne dici di questa soluzione?

global.asa:
Sub Application_OnStart()
Application("utenti") = 0
End Sub

Sub Session_OnStart()
Application("utenti") = Application("utenti") + 1
End Sub

Sub Session_OnEnd()
Application("utenti") = Application("utenti") - 1
End Sub

PaginaDaControllare.asp:
CONST UTENTIMAX = 30
If Application("utenti") > UTENTIMAX Then
Session.Abandon
Response.Write("Troppi utenti connessi.")
Response.End
End If

Maurizio Manna
http://www.f1grandprix.it
101 messaggi dal 03 gennaio 2002
www.f1grandprix.it
up

Maurizio Manna
http://www.f1grandprix.it

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.