SessionStateStoreProviderBase.GetItem Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne des données d’état de session en lecture seule à partir 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 de la requête actuelle.
- locked
- Boolean
Lorsque cette méthode est retournée, contient une valeur booléenne définie sur true
si l’élément de session demandé est verrouillé au magasin de données de session ; sinon, false
.
- lockAge
- TimeSpan
Lorsque cette méthode est retournée, contient un objet TimeSpan défini sur la durée pendant laquelle un élément du magasin de données de session a été verrouillé.
- lockId
- Object
Lorsque cette méthode est retournée, contient un objet défini sur l’identificateur de verrou pour la requête actuelle. Pour plus d’informations sur l’identificateur de verrou, consultez « Verrouillage Session-Store Données » dans le résumé de la classe SessionStateStoreProviderBase.
- actions
- SessionStateActions
Lorsque cette méthode est retournée, contient l’une des valeurs SessionStateActions, indiquant si la session active est une session sans cookie non initialisée.
Retours
Un SessionStateStoreData rempli de valeurs de session et d’informations à partir 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 magasin Session-State.
Remarques
L’objet SessionStateModule appelle la méthode GetItem au début d’une requête, pendant l’événement AcquireRequestState, lorsque l’attribut EnableSessionState est défini sur ReadOnly
. Si l’attribut EnableSessionState est défini sur true
, l’objet SessionStateModule appelle plutôt la méthode GetItemExclusive.
La méthode GetItem retourne un objet SessionStateStoreData 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 méthode GetItem définit le paramètre locked
out
sur false
et retourne null
. Ainsi, l’objet SessionStateModule appelle la méthode CreateNewStoreData 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 méthode GetItem définit le paramètre locked
out
sur true
, définit le paramètre lockAge
out
sur la date et l’heure actuelles moins la date et l’heure à laquelle l’élément a été verrouillé (qui est récupéré à partir du magasin de données), définit le paramètre lockId
out
sur l’identificateur de verrou récupéré à partir du magasin de données, et retourne null
. Ainsi, l’objet SessionStateModule appelle à nouveau la méthode GetItem après un intervalle d’une demi-seconde pour tenter de récupérer les informations de l’élément de session.
Si la valeur définie par le paramètre lockAge
out
dépasse la valeur ExecutionTimeout, l’objet SessionStateModule appelle la méthode ReleaseItemExclusive pour effacer le verrou sur les données de l’élément de session, puis appelle à nouveau la méthode GetItem.
Le paramètre actionFlags
est utilisé lorsque les attributs cookieless
et regenerateExpiredSessionId
sont définis sur true
. Une valeur actionFlags
définie sur InitializeItem indique que l’entrée dans le magasin de données de session est une nouvelle session qui nécessite l’initialisation. Les entrées non initialisées dans le magasin de données de session sont créées par un appel à la méthode CreateUninitializedItem. Si l’élément du magasin de données de session n’est pas un élément non initialisé, le paramètre actionFlags
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 paramètre actionFlags
out
sur la valeur retournée par le magasin de données de session pour l’élément actif. Si la valeur du paramètre actionFlags
de l’élément de magasin de sessions demandé est égale à la valeur d’énumération InitializeItem, la méthode GetItem doit définir la valeur dans le magasin de données sur zéro après avoir défini le paramètre actionFlags
out
.
S’applique à
Voir aussi
- Vue d’ensemble de l’état de session ASP.NET