SessionStateStoreProviderBase.GetItemExclusive 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.
Restituisce dati di sola lettura relativi allo stato sessione dall'archivio dati della sessione.
public:
abstract System::Web::SessionState::SessionStateStoreData ^ GetItemExclusive(System::Web::HttpContext ^ context, System::String ^ id, [Runtime::InteropServices::Out] bool % locked, [Runtime::InteropServices::Out] TimeSpan % lockAge, [Runtime::InteropServices::Out] System::Object ^ % lockId, [Runtime::InteropServices::Out] System::Web::SessionState::SessionStateActions % actions);
public abstract System.Web.SessionState.SessionStateStoreData GetItemExclusive (System.Web.HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out System.Web.SessionState.SessionStateActions actions);
abstract member GetItemExclusive : System.Web.HttpContext * string * bool * TimeSpan * obj * SessionStateActions -> System.Web.SessionState.SessionStateStoreData
Public MustOverride Function GetItemExclusive (context As HttpContext, id As String, ByRef locked As Boolean, ByRef lockAge As TimeSpan, ByRef lockId As Object, ByRef actions As SessionStateActions) As SessionStateStoreData
Parametri
- context
- HttpContext
Oggetto HttpContext per la richiesta corrente.
- locked
- Boolean
Quando termina, questo metodo contiene un valore booleano impostato su true
se è stato ottenuto un blocco, altrimenti contiene il valore false
.
- lockAge
- TimeSpan
Quando termina, questo metodo contiene un oggetto TimeSpan impostato sull'intervallo di tempo durante il quale un elemento dell'archivio dati della sessione risulta bloccato.
- lockId
- Object
Quando termina, questo metodo contiene un oggetto impostato sull'identificatore di blocco per la richiesta corrente. Per informazioni dettagliate sull'identificatore di blocco, vedere "Blocco dei dati dell'archivio di sessione" nel riepilogo della classe SessionStateStoreProviderBase.
- actions
- SessionStateActions
Quando termina, questo metodo contiene uno dei valori dell'oggetto SessionStateActions che indica se la sessione corrente è una sessione senza cookie non inizializzata.
Restituisce
Oggetto SessionStateStoreData nel quale vengono inseriti i valori e le informazioni sulla sessione contenuti nell'archivio dati della sessione.
Esempio
Per un esempio di implementazione del provider dell'archivio stati sessione, vedere Implementazione di un provider di archiviazione Session-State.
Commenti
L'oggetto SessionStateModule chiama il GetItemExclusive metodo all'inizio di una richiesta, durante l'evento, quando l'attributo AcquireRequestState è impostato su true
, ovvero l'impostazione EnableSessionState predefinita. Se l'attributo EnableSessionState è impostato su ReadOnly
, l'oggetto SessionStateModule chiama invece il GetItem metodo .
Il GetItemExclusive metodo restituisce un SessionStateStoreData oggetto popolato con informazioni sulla sessione dall'archivio dati, aggiorna la data di scadenza dei dati archiviati e blocca i dati dell'elemento sessione nell'archivio dati per la durata della richiesta. Se nell'archivio dati non vengono trovati dati degli elementi di sessione, il GetItemExclusive metodo imposta il locked
out
parametro su false
e restituisce null
. In questo modo l'oggetto SessionStateModule chiama il CreateNewStoreData metodo per creare un nuovo elemento di sessione nell'archivio dati. Se i dati dell'elemento sessione vengono trovati nell'archivio dati ma i dati sono bloccati, il GetItemExclusive metodo imposta il locked
out
parametro su true
, imposta il lockAge
out
parametro sulla data e l'ora correnti meno la data e l'ora in cui l'elemento è stato bloccato (che viene recuperato dall'archivio dati), imposta il lockId
out
parametro sull'identificatore di blocco recuperato dall'archivio dati, e restituisce null
. In questo modo l'oggetto chiama nuovamente il GetItemExclusive metodo dopo un intervallo di mezzo secondo per tentare di recuperare le informazioni sull'elemento SessionStateModule sessione e ottenere un blocco sui dati. Se il valore impostato per il lockAge
out
parametro supera il ExecutionTimeout valore , chiama SessionStateModule il ReleaseItemExclusive metodo per cancellare il blocco sui dati dell'elemento sessione e quindi chiama di nuovo il GetItemExclusive metodo .
Il actionFlags
parametro viene usato quando gli cookieless
attributi e regenerateExpiredSessionId
sono entrambi impostati su true
. Un actionFlags
valore impostato su InitializeItem indica che la voce nell'archivio dati della sessione è una nuova sessione che richiede l'inizializzazione. Le voci non inizializzate nell'archivio dati della sessione vengono create da una chiamata al CreateUninitializedItem metodo . Se l'elemento dell'archivio dati della sessione non è un elemento non inizializzato, il actionFlags
parametro verrà impostato su zero.
Gli implementatori dell'archivio stati sessione personalizzati che supportano sessioni senza cookie devono impostare il actionFlags
out
parametro sul valore restituito dall'archivio dati della sessione per l'elemento corrente. Se il actionFlags
valore del parametro per l'elemento dell'archivio sessioni richiesto è uguale al InitializeItem valore di enumerazione, il GetItemExclusive metodo deve impostare il valore nell'archivio dati su zero dopo l'impostazione del actionFlags
out
parametro .
Si applica a
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per