SessionStateStoreProviderBase.GetItem Méthode

Définition

Retourne des données d'état de session en lecture seule du magasin de données de session.

public:
 abstract System::Web::SessionState::SessionStateStoreData ^ GetItem(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 GetItem (System.Web.HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out System.Web.SessionState.SessionStateActions actions);
abstract member GetItem : System.Web.HttpContext * string * bool * TimeSpan * obj * SessionStateActions -> System.Web.SessionState.SessionStateStoreData
Public MustOverride Function GetItem (context As HttpContext, id As String, ByRef locked As Boolean, ByRef lockAge As TimeSpan, ByRef lockId As Object, ByRef actions As SessionStateActions) As SessionStateStoreData

Paramètres

context
HttpContext

HttpContext pour la requête actuelle.

id
String

SessionID pour la requête actuelle.

locked
Boolean

Lorsque cette méthode est retournée, elle contient une valeur booléenne true si l'élément de session demandé est verrouillé au niveau du magasin de données de session ; sinon, false.

lockAge
TimeSpan

Lorsque cette méthode est retournée, elle contient un objet TimeSpan dont la valeur est le temps pendant lequel un élément du magasin de données de session est resté verrouillé.

lockId
Object

Lorsque cette méthode est retournée, elle contient un objet dont a valeur est l'identificateur de verrou de la demande en cours. Pour plus d'informations sur l'identificateur de verrou, consultez « Verrouiller les données du magasin de session » dans le résumé de la classe SessionStateStoreProviderBase.

actions
SessionStateActions

Lorsque cette méthode est retournée, elle contient l'une des valeurs SessionStateActions, indiquant si la session en cours est une session non initialisée, sans cookie.

Retours

SessionStateStoreData rempli avec les valeurs et les informations de session provenant du magasin de données de session.

Exemples

Pour obtenir un exemple d’implémentation d’un fournisseur de magasin d’état de session, consultez Implémentation d’un fournisseur de magasins d'Session-State.

Remarques

L’objet appelle la GetItem méthode au début d’une demande, pendant l’événementAcquireRequestState, lorsque l’attribut EnableSessionState est défini sur ReadOnly.SessionStateModule Si l’attribut EnableSessionState est défini sur true, l’objet SessionStateModule appelle à la place la GetItemExclusive méthode .

La GetItem méthode retourne un SessionStateStoreData objet rempli avec les informations de session du magasin de données et met à jour la date d’expiration des données de session. Si aucune donnée d’élément de session n’est trouvée dans le magasin de données, la GetItem méthode définit le lockedout paramètre false sur et retourne null. L’objet appelle alors SessionStateModule la CreateNewStoreData méthode pour créer un élément de session dans le magasin de données.

Si des données d’élément de session sont trouvées dans le magasin de données mais que les données sont verrouillées, la GetItem méthode définit le lockedout paramètre truesur , définit le lockAgeout paramètre sur la date et l’heure actuelles moins la date et l’heure de verrouillage de l’élément (qui est récupéré à partir du magasin de données), définit le lockIdout paramètre sur l’identificateur de verrou récupéré à partir du magasin de données, et retournent null. L’objet SessionStateModule appelle alors à nouveau la GetItem méthode après un intervalle d’une demi-seconde pour tenter de récupérer les informations sur l’élément de session.

Si la valeur définie par le lockAgeout paramètre dépasse la ExecutionTimeout valeur, l’objet SessionStateModule appelle la ReleaseItemExclusive méthode pour effacer le verrou sur les données de l’élément de session, puis appelle à nouveau la GetItem méthode.

Le actionFlags paramètre est utilisé lorsque les cookieless attributs et ont regenerateExpiredSessionId la valeur true. Une actionFlags valeur définie InitializeItem sur indique que l’entrée dans le magasin de données de session est une nouvelle session qui nécessite une initialisation. Les entrées non initialisées dans le magasin de données de session sont créées par un appel à la CreateUninitializedItem méthode . Si l’élément du magasin de données de session n’est pas un élément non initialisé, le actionFlags paramètre est défini sur zéro.

Les implémenteurs de magasin d’état de session personnalisés qui prennent en charge les sessions sans cookie doivent définir le actionFlagsout paramètre sur la valeur retournée par le magasin de données de session pour l’élément actif. Si la valeur du actionFlags paramètre pour l’élément de magasin de session demandé est égale à la InitializeItem valeur d’énumération, la GetItem méthode doit définir la valeur zéro dans le magasin de données après avoir défini le actionFlagsout paramètre.

S’applique à

Voir aussi