Session.abandon

martedì 08 gennaio 2013 - 19.56
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Windows Server 2008  |  Visual Studio 2010  |  Javascript  |  CSS 2.1

trinity Profilo | Guru

Salve ragazzi,

un curiosità ho finito un sito dove vi è un'area di registrazione e una di login. Una volta che l'utente esegue il login, creo una sessione nella quale mi porto dietro il suo id per eseguire poi delle operazioni nelle successive pagine. Se un utente chiude il browser direttamente dalla X, la sessione che ho creato resta attiva? Se si devo eseguire all'unload della pagina una session.abandon? Ho visto in questo link: http://aspalliance.com/1294_CodeSnip_Handle_Browser_Close_Event_on_the_ServerSide.1
il modo per killare la sessione anche sul server quando viene chiuso il browser sul client senza attendere il timeout. Ma ho visto dei siti che la sessione viene anche salvata in un sql server come mai? Comunque faccio bene ad eseguire il session.abandon sul client e faccio bene ad eseguire anche il codice di kill della session che viene riportato nel link che ho postato?

Ultimissima cosa ho letto un articolo che cita:
"La prima riguarda il loro uso. Se possibile evitate di riempire le pagine di variabili di sessione in quanto appesantiscono notevolmente il carico di lavoro sul server rallentandolo di conseguenza. Infatti queste variabili lavorano completamente sul Server-Side (lato server). Se possibile, è consigliato l’utilizzo di cookies in quanto vengono creati e manipolati sul Server-Side ma memorizzati sul Client-Side."

Nel caso io volessi utilizzare i cookies dove ci salvo i dati di login dell'utente ed altro senza utilizzare le session, nel caso in cui il browser dell'utente ha i cookie disabilitati, quelli che creo io funzionano lo stesso? in quanto sempre nell'articolo che ho letto cita anche questo: "Nel caso l’utente finale avesse i cookies disabilitati, il funzionamento di questa tipologia di variabili è garantita in quanto il server attiva un cookies speciale che ne consente la gestione."

Ciao e grazie..

ps se avete qualche link utile dove studiare meglio i cookie la loro creazione gestione ed eliminazione dopo la chiusura del browser oppure dopo un periodo di pausa/standby del pc, ve ne sarei grato.


Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

ridaria Profilo | Expert

>Salve ragazzi,
>
>un curiosità ho finito un sito dove vi è un'area di registrazione
>e una di login. Una volta che l'utente esegue il login, creo
>una sessione nella quale mi porto dietro il suo id per eseguire
>poi delle operazioni nelle successive pagine. Se un utente chiude
>il browser direttamente dalla X, la sessione che ho creato resta
>attiva? Se si devo eseguire all'unload della pagina una session.abandon?
>Ho visto in questo link: http://aspalliance.com/1294_CodeSnip_Handle_Browser_Close_Event_on_the_ServerSide.1
>il modo per killare la sessione anche sul server quando viene
>chiuso il browser sul client senza attendere il timeout. Ma ho
>visto dei siti che la sessione viene anche salvata in un sql
>server come mai? Comunque faccio bene ad eseguire il session.abandon
>sul client e faccio bene ad eseguire anche il codice di kill
>della session che viene riportato nel link che ho postato?

di abbandon e kill ne abbiamo già parlato: http://www.dotnethell.it/forum/messages.aspx?ThreadID=42275


>
>Ultimissima cosa ho letto un articolo che cita:
>"La prima riguarda il loro uso. Se possibile evitate di riempire
>le pagine di variabili di sessione in quanto appesantiscono notevolmente
>il carico di lavoro sul server rallentandolo di conseguenza.
>Infatti queste variabili lavorano completamente sul Server-Side
>(lato server). Se possibile, è consigliato l’utilizzo di cookies
>in quanto vengono creati e manipolati sul Server-Side ma memorizzati
>sul Client-Side."

Condivido pienamente, io personalmente evito totalmente le variabili di sessione, sono poco controllabili, appesantiscono, e se cresce il numero cresce la probabilità di perderne il controllo.
>
>Nel caso io volessi utilizzare i cookies dove ci salvo i dati
>di login dell'utente ed altro senza utilizzare le session, nel
>caso in cui il browser dell'utente ha i cookie disabilitati,
>quelli che creo io funzionano lo stesso? in quanto sempre nell'articolo
>che ho letto cita anche questo: "Nel caso l’utente finale avesse
>i cookies disabilitati, il funzionamento di questa tipologia
>di variabili è garantita in quanto il server attiva un cookies
>speciale che ne consente la gestione."

IO uso appunto i kookie, oramai sono rarissimi i browser con i cookie disabilitati, era una leggenda metropolitana di anni fà che li demonizzava.



>
>Ciao e grazie..
>
>ps se avete qualche link utile dove studiare meglio i cookie
>la loro creazione gestione ed eliminazione dopo la chiusura del
>browser oppure dopo un periodo di pausa/standby del pc, ve ne
>sarei grato.

Qui un valido supporto per i kookie.
http://msdn.microsoft.com/en-us/library/ms178194%28v=vs.100%29.aspx

PS per eliminare il ookie devi settatre la proprietà Expires dell'oggetto kokie al giorno precedente a quello corrente:
acookye.Expires = DateTime.Now.AddDays(-1)

per far si invece che vengano eliminati automaticamente alla chiusura del browser non devi inserire la data di termine, proprietà "Expires".

CIAO

>Cirillo Fabio
>www.wondernet.biz
>fabio@wondernet.biz
>http://blogs.dotnethell.it/fabiocirillo/
>http://wnetsoftware.blogspot.com

Riccardo D'Aria

trinity Profilo | Guru

Prima di tutto grazie della risposta e del tuo aiuto.
Anche io sono propenso ad utilizzare i cookie ma una domanda devo porla in base alle mie esigenze. supponiamo questo esempio.

Ho una pagina aspx di registrazione utente...l'utente inserisce i suoi dati per esempio email e password e si registra. Una volta eseguita questa operazione io immediatamente creare un cookie (con un nome che gli do io) e dove all'interno vado a scrivere i parametri di accesso ossia la password e l'email, Giusto? Poi se il cliente mette la famosa spunta che vuole rimanere collegato ossia quando entra nel mio sito deve immediatamente oltrepassare la pagina di login ed entrare nella home page. Come dovrei fare con i cookie? Secondo me dovrei creare un cookie che non scade se l'utente mette la spunta sul restare connesso e poi appena eseguo l'init della pagina login se il cookie è impostato su connesso (per esempio) allora redirect immediata sulla home page. Giusto?

Ps che non centra nulla con il tema del post ma al volo te lo chiedo, ma per passare velocemente da una pagina aspx ad un'altra c'è solo il comando redirect?

Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

ridaria Profilo | Expert

>Prima di tutto grazie della risposta e del tuo aiuto.
>Anche io sono propenso ad utilizzare i cookie ma una domanda
>devo porla in base alle mie esigenze. supponiamo questo esempio.
>
>Ho una pagina aspx di registrazione utente...l'utente inserisce
>i suoi dati per esempio email e password e si registra. Una volta
>eseguita questa operazione io immediatamente creare un cookie
>(con un nome che gli do io) e dove all'interno vado a scrivere
>i parametri di accesso ossia la password e l'email, Giusto? Poi
>se il cliente mette la famosa spunta che vuole rimanere collegato
>ossia quando entra nel mio sito deve immediatamente oltrepassare
>la pagina di login ed entrare nella home page. Come dovrei fare
>con i cookie? Secondo me dovrei creare un cookie che non scade
>se l'utente mette la spunta sul restare connesso e poi appena
>eseguo l'init della pagina login se il cookie è impostato su
>connesso (per esempio) allora redirect immediata sulla home page.
>Giusto?


Esatto è così la procedura!

Ma io sconsiglierei caldamente questa cosa. Se al suo pc si siede un altra persona? e va sul sito in questione entra nei suoi dati.


>
>Ps che non centra nulla con il tema del post ma al volo te lo
>chiedo, ma per passare velocemente da una pagina aspx ad un'altra
>c'è solo il comando redirect?

Certo non mi sono mai posto il problema. Io uso il redirect e non so se ne esiste altro modo, ma non credo.

CIAO
>
>Ciao
>Cirillo Fabio
>www.wondernet.biz
>fabio@wondernet.biz
>http://blogs.dotnethell.it/fabiocirillo/
>http://wnetsoftware.blogspot.com

Riccardo D'Aria

trinity Profilo | Guru

Perfetto allora mi darò con calma una bella letta alla pagina dei cookie che mi hai linkato....per il discorso del restare connesso sono cavoli del mio cliente lui me lo ha chiesto ed io glielo faccio.

Allora appena inizierò a scrivere le pagine con la gestione dei cookie se mi servirà qualche consiglio posterò...Scusa le domande strane ma non sono neanche 2 mesi che sono entrato nel mondo del web, sono sempre da 15 anni programmatore lato windows e non è facile immediatamente capire la logica e tutti i segreti lato web con il java, css htlm ecc.....

Ciao e grazie
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

ridaria Profilo | Expert

>Perfetto allora mi darò con calma una bella letta alla pagina
>dei cookie che mi hai linkato....per il discorso del restare
>connesso sono cavoli del mio cliente lui me lo ha chiesto ed
>io glielo faccio.

Da buon consulente, prospettagli comunque il pericolo, e cosa ne pensi in merito.

CIAO

Riccardo D'Aria

trinity Profilo | Guru

Si lo farò..Senti una ultimissima informazione ma se io creo un cookie e gli salvo dei parametri all'interno poi questi parametri nel corso della pagina possono cambiare. Devo killare il cookie ogni volta e ricrearlo? Oppure c'è la possibilità di aggiornare il suo contenuto e meglio ancora solo una parte specifica del suo contenuto?

Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

ridaria Profilo | Expert

non ricordo di aver mai fatto modifiche ai parametri, fai una prova no? :-)

CIAO

Riccardo D'Aria

trinity Profilo | Guru

Ok farò una prova però quindi supponiamo che devo salvare un percorso esempio di una immagine ovviamente oltre a salvarla nel db senza che ogni volta devo ricavare la sua path dal db stesso, pensavo di salvarla anche in un cookie all'apertura del sito e quindi sempre da questo cookie prendere la path ogni volta che mi serve. solo che nel caso in cui dovessi modificare l'immagine dovrei killare il cookie e ricrearlo
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

trinity Profilo | Guru

Ciao in riferimento sempre alle session ho trovato questo articolo:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Ma è possibile che le session vengano salvate e gestite lato client ed in questo caso non creano problemi e diminuzioni di prestazioni del server?
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5