Qual è la differenza tra la distruzione di una sessione e la rimozione dei suoi valori? Puoi fornire un esempio che lo dimostri?
Ho cercato questa domanda, ma non afferrare la risposta totale. Alcune risposte sono:
Session.Abandon()
distrugge la sessioneSession.Clear()
rimuove solo tutti i valori
Un amico mi ha detto questo:
La cancellazione della sessione non annullerà la sessione, esiste ancora con lo stesso ID per l'utente ma con i valori semplicemente cancellati.
L'abbandono distruggerà completamente la sessione, il che significa che è necessario iniziare una nuova sessione prima di poter memorizzare altri valori nella sessione per quell'utente.
Il codice seguente funziona e non genera eccezioni.
Session.Abandon();
Session["tempKey1"] = "tempValue1";
Quando abbandoni () una sessione, tu (o meglio l'utente) riceverai un nuovo SessionId
Quando provo la sessione, non apporta alcuna modifica quando abbandono la sessione.
Trovo solo una differenza:
session.Abandon()
genera Session_End
eventi