SessionStateStoreProviderBase.GetItemExclusive 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 du magasin de données de session.
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
Paramètres
- context
- HttpContext
HttpContext pour la requête actuelle.
- locked
- Boolean
Lorsque cette méthode est retournée, elle contient une valeur booléenne true
si un verrou a pu être obtenu ; 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 SessionStateModule appelle la GetItemExclusive méthode au début d’une demande, pendant l’événement AcquireRequestState , lorsque l’attribut EnableSessionState est défini sur true
, qui est la valeur par défaut. Si l’attribut EnableSessionState est défini sur ReadOnly
, l’objet SessionStateModule appelle à la place la GetItem méthode .
La GetItemExclusive méthode retourne un SessionStateStoreData objet rempli avec les informations de session du magasin de données, met à jour la date d’expiration des données stockées et verrouille les données d’élément de session dans le magasin de données pendant la durée de la demande. Si aucune donnée d’élément de session n’est trouvée dans le magasin de données, la GetItemExclusive méthode définit le locked
out
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 GetItemExclusive méthode définit le locked
out
paramètre true
sur , définit le lockAge
out
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 lockId
out
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 GetItemExclusive méthode après un intervalle d’une demi-seconde pour tenter de récupérer les informations d’élément de session et d’obtenir un verrou sur les données. Si la valeur sur laquelle le lockAge
out
paramètre est défini dépasse la ExecutionTimeout valeur, le SessionStateModule appelle la ReleaseItemExclusive méthode pour effacer le verrou sur les données de l’élément de session, puis appelle à nouveau la GetItemExclusive méthode.
Le actionFlags
paramètre est utilisé lorsque les cookieless
attributs et regenerateExpiredSessionId
sont tous deux définis sur 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 actionFlags
out
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 GetItemExclusive méthode doit définir la valeur zéro dans le magasin de données après avoir défini le actionFlags
out
paramètre.
S’applique à
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour