Partager via


SessionStateStoreProviderBase.CreateUninitializedItem Méthode

Définition

Ajoute un nouvel élément d'état de session au magasin de données.

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)

Paramètres

context
HttpContext

HttpContext pour la requête actuelle.

id
String

SessionID pour la requête actuelle.

timeout
Int32

Timeout de la session pour la demande en cours.

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 d'Session-State.

Remarques

La CreateUninitializedItem méthode est utilisée avec les sessions lorsque les attributs et regenerateExpiredSessionId sont à la cookieless fois true. Le fait d’avoir défini sur regenerateExpiredSessionId attribute entraîne la SessionStateModule génération d’une nouvelle SessionID valeur par l’objet lorsqu’une valeur expirée SessionID est rencontrée.true

Le processus de génération d’une nouvelle SessionID valeur nécessite de rediriger le navigateur vers une URL qui contient la valeur nouvellement générée SessionID . La CreateUninitializedItem méthode est appelée lors de la requête initiale qui contient une valeur expirée SessionID . Une fois que l’objet SessionStateModule a acquis une nouvelle SessionID valeur pour remplacer la valeur expirée, il appelle la CreateUninitializedItem méthode pour ajouter une entrée non initialisée au magasin de données d’état de session. Le navigateur est ensuite redirigé vers l’URL contenant la valeur nouvellement générée SessionID . L’existence de l’entrée non initialisée dans le magasin de données de session garantit que la requête redirigée qui inclut la valeur nouvellement générée n’est pas confondue SessionID avec une demande pour une session expirée et qu’elle est, à la place, traitée comme une nouvelle session.

L’entrée non initialisée dans le magasin de données de session est associée à la valeur nouvellement générée SessionID et contient uniquement des valeurs par défaut, y compris une date et une heure d’expiration et une valeur qui correspond au actionFlags paramètre des GetItem méthodes et GetItemExclusive . L’entrée non initialisée dans le magasin d’état de session doit inclure une valeur égale à la valeur d’énumération actionFlagsInitializeItem . Cette valeur est transmise à l’objet SessionStateModule par les GetItem méthodes et GetItemExclusive et informe l’objet SessionStateModule que la session active est une session nouvelle mais non initialisée. L’objet SessionStateModule initialise ensuite la nouvelle session et déclenche l’événement Session_OnStart .

Pour plus d’informations sur les sessions sans cookie, consultez la IsCookieless propriété .

S’applique à

Voir aussi