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 di un provider di archiviazione dello stato sessione, vedere implementazione di un provider di archiviazione Session-State.

Commenti

Il CreateUninitializedItem metodo viene utilizzato con le sessioni quando cookieless gli regenerateExpiredSessionId attributi e sono true entrambi. Se l' regenerateExpiredSessionId attribute true oggetto è impostato su SessionStateModule , l'oggetto genera un nuovo SessionID valore quando SessionID viene rilevato un valore scaduto.

Il processo di generazione di un nuovo SessionID valore richiede il reindirizzamento del browser a un URL che contiene il valore appena generato SessionID . Il CreateUninitializedItem metodo viene chiamato durante la richiesta iniziale che contiene un SessionID valore scaduto. Quando l' SessionStateModule oggetto 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 che contiene il SessionID valore appena generato. L'esistenza della voce non inizializzata nell'archivio dati della sessione garantisce che la richiesta reindirizzata che include il valore appena generato SessionID non venga scambiata per una richiesta di una sessione scaduta e venga invece considerata come una nuova sessione.

La voce non inizializzata nell'archivio dati della sessione è associata al nuovo valore generato SessionID e contiene solo valori predefiniti, inclusi una data e un'ora di scadenza e un valore corrispondente al actionFlags parametro dei GetItem GetItemExclusive metodi e. La voce non inizializzata nell'archivio dello stato sessione deve includere un actionFlags valore uguale al valore di InitializeItem enumerazione. Questo valore viene passato all' SessionStateModule oggetto dai GetItem GetItemExclusive metodi e e informa l' SessionStateModule oggetto che la sessione corrente è una sessione nuova ma non inizializzata. L' SessionStateModule oggetto inizializza quindi la nuova sessione e genera l' Session_OnStart evento.

Per ulteriori informazioni sulle sessioni senza cookie, vedere la IsCookieless Proprietà.

Si applica a

Vedi anche