SessionStateStoreProviderBase.CreateUninitializedItem Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Aggiunge un nuovo elemento dello stato sessione all'archivio dati.
public:
abstract void CreateUninitializedItem(System::Web::HttpContext ^ context, System::String ^ id, int timeout);
public abstract void CreateUninitializedItem(System.Web.HttpContext context, string id, int timeout);
abstract member CreateUninitializedItem : System.Web.HttpContext * string * int -> unit
Public MustOverride Sub CreateUninitializedItem (context As HttpContext, id As String, timeout As Integer)
Parametri
- context
- HttpContext
Oggetto HttpContext per la richiesta corrente.
Esempio
Per un esempio di implementazione del provider dell'archivio stati sessione, vedere Implementazione di un provider di archiviazione Session-State.
Commenti
Il CreateUninitializedItem metodo viene usato con le sessioni quando gli cookieless attributi e regenerateExpiredSessionId sono entrambi true. Se l'oggetto regenerateExpiredSessionId attribute è impostato su true , l'oggetto SessionStateModule genera un nuovo SessionID valore quando viene rilevato un valore scaduto SessionID .
Il processo di generazione di un nuovo SessionID valore richiede il reindirizzamento del browser a un URL contenente il valore appena generato SessionID . Il CreateUninitializedItem metodo viene chiamato durante la richiesta iniziale che contiene un valore scaduto SessionID . Dopo che l'oggetto SessionStateModule acquisisce un nuovo SessionID valore per sostituire il valore scaduto, chiama il CreateUninitializedItem metodo per aggiungere una voce non inizializzata all'archivio dati dello stato sessione. Il browser viene quindi reindirizzato all'URL contenente il valore appena generato SessionID . L'esistenza della voce non inizializzata nell'archivio dati della sessione garantisce che la richiesta reindirizzata che includa il valore appena generato non venga scambiata SessionID per una richiesta per una sessione scaduta ed è invece considerata come una nuova sessione.
La voce non inizializzata nell'archivio dati della sessione è associata al valore appena generato SessionID e contiene solo valori predefiniti, tra cui una data e un'ora di scadenza e un valore che corrisponde al actionFlags parametro dei GetItem metodi e GetItemExclusive . La voce non inizializzata nell'archivio stati sessione deve includere un actionFlags valore uguale al valore di InitializeItem enumerazione. Questo valore viene passato all'oggetto SessionStateModule dai GetItem metodi e GetItemExclusive e informa l'oggetto SessionStateModule che la sessione corrente è una sessione nuova ma non inizializzata. L'oggetto SessionStateModule inizializzerà quindi la nuova sessione e genererà l'evento Session_OnStart .
Per altre informazioni sulle sessioni senza cookie, vedere la IsCookieless proprietà .