Condividi tramite


SessionStateStoreProviderBase.CreateUninitializedItem Metodo

Definizione

Aggiunge un nuovo elemento di 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.

id
String

Oggetto SessionID per la richiesta corrente.

timeout
Int32

Proprietà Timeout della sessione per la richiesta corrente.

Esempio

Per un esempio di implementazione del provider di archiviazione con stato sessione, vedere Implementazione di un provider di archiviazione Session-State.

Commenti

Il CreateUninitializedItem metodo viene usato con sessioni quando gli cookieless attributi e regenerateExpiredSessionId sono entrambi true. Se l'oggetto regenerateExpiredSessionId attributeSessionStateModule è impostato per true generare un nuovo SessionID valore quando viene rilevato un valore scadutoSessionID.

Il processo di generazione di un nuovo SessionID valore richiede il reindirizzamento SessionID del browser a un URL contenente il valore appena generato. Il CreateUninitializedItem metodo viene chiamato durante la richiesta iniziale contenente 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 sessione garantisce che la richiesta reindirizzata che include il valore appena generato SessionID non sia errata per una richiesta per una sessione scaduta ed è invece considerata come una nuova sessione.

La voce non inizializzata nell'archivio dati 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 stato sessione deve includere un actionFlags valore uguale al valore di InitializeItem enumerazione. Questo valore viene passato all'oggetto dai GetItem metodi e GetItemExclusive e informa l'oggetto SessionStateModuleSessionStateModule che la sessione corrente è una nuova sessione 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à .

Si applica a

Vedi anche