2009-09-21 10 views
8

mia comprensione daDifferenza con regenerateExpiredSessionId = "false" e regenerateExpiredSessionId = "true" .Net

http://msdn.microsoft.com/en-us/library/system.web.configuration.sessionstatesection.regenerateexpiredsessionid.aspx

significato di regenerateExpiredSessionId = "false" era che se un ID di sessione scaduto NON sarà riutilizzato se il cliente richiede un url con lo stesso id.

E mening di regenerateExpiredSessionId = "true" è che se un id di sessione è scaduto verrà riutilizzato (riciclato) se il client richiede un url con lo stesso id.

ma quando ho letto posta al

regenerateExpiredSessionId not working as expected

sembra che io frainteso quello regenerateExpiredSessionId = significa "true".

Qualcuno può spiegare quale è giusto?

+0

credo lei ha ragione e io non vedo come l'altro post contraddice questo. – Locksfree

+0

So che questa domanda ha 5 anni, ma mi piacerebbe comunque vedere una risposta chiarificatrice che confermi o neghi la suddetta interpretazione di questa impostazione. Trovo anche un po 'di confusione. – jdmcnair

risposta

1

Credo che la parola "ristampa" sia problematica quando le persone discutono di questo attributo. Ho visto alcuni post interpretarlo come "un nuovo ID di sessione viene generato e rilasciato al client" e altri che lo interpretano come "un ID di sessione scaduto viene assegnato a una nuova sessione e rilasciato al client." Credo che la documentazione di msdn lo indichi in quest'ultimo senso, e che lo stack overflow post che hai referenziato non lo abbia interpretato correttamente come il primo.

11

Per impostazione predefinita, i valori ID sessione utilizzati nelle sessioni senza cookie vengono riciclati. In altre parole, se viene eseguita una richiesta con un ID sessione scaduto, viene avviata una nuova sessione utilizzando il valore SessionID fornito con la richiesta. Ciò può comportare che una sessione venga condivisa involontariamente quando un collegamento che contiene un valore SessionID senza cookie viene utilizzato da più browser. (Ciò può verificarsi se il collegamento viene passato attraverso un motore di ricerca, attraverso un messaggio di posta elettronica o attraverso un altro programma.) È possibile ridurre la possibilità che i dati di sessione vengano condivisi configurando l'applicazione in modo da non riciclare identificatori di sessione. Per fare ciò, impostare l'attributo regenerateExpiredSessionId dell'elemento di configurazione sessionState su true. Ciò genera un nuovo ID di sessione quando viene effettuata una richiesta di sessione senza cookie con un ID sessione scaduto.

Rif: http://msdn.microsoft.com/en-us/library/ms178581.aspx

Problemi correlati