SessionStateStoreProviderBase.CreateUninitializedItem Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Adiciona um novo item de estado de sessão para o armazenamento de dados.
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)
Parâmetros
- context
- HttpContext
O HttpContext para a solicitação atual.
Exemplos
Para obter um exemplo de implementação de um provedor de repositório de estado de sessão, consulte Implementando um provedor de repositório de Session-State.
Comentários
O CreateUninitializedItem método é usado com sessões quando os cookieless
atributos e regenerateExpiredSessionId
são ambos true
. Ter o regenerateExpiredSessionId attribute
definido como true
faz com que o SessionStateModule objeto gere um novo SessionID valor quando um valor expirado SessionID é encontrado.
O processo de geração de um novo SessionID valor requer o redirecionamento do navegador para uma URL que contém o valor recém-gerado SessionID . O CreateUninitializedItem método é chamado durante a solicitação inicial que contém um valor expirado SessionID . Depois que o SessionStateModule objeto adquire um novo SessionID valor para substituir o valor expirado, ele chama o CreateUninitializedItem método para adicionar uma entrada não inicializada ao armazenamento de dados de estado de sessão. Em seguida, o navegador é redirecionado para a URL que contém o valor recém-gerado SessionID . A existência da entrada não inicializada no armazenamento de dados de sessão garante que a solicitação redirecionada que inclui o valor recém-gerado não seja confundida SessionID com uma solicitação para uma sessão expirada e, em vez disso, seja tratada como uma nova sessão.
A entrada não inicializada no armazenamento de dados de sessão está associada ao valor recém-gerado SessionID e contém apenas valores padrão, incluindo uma data e hora de expiração e um valor que corresponde ao actionFlags
parâmetro dos GetItem métodos e GetItemExclusive . A entrada não inicializada no repositório de estado de sessão deve incluir um actionFlags
valor igual ao valor de InitializeItem enumeração. Esse valor é passado para o SessionStateModule objeto pelos GetItem métodos e GetItemExclusive e informa ao SessionStateModule objeto que a sessão atual é uma sessão nova, mas não inicializada. Em SessionStateModule seguida, o objeto inicializará a nova sessão e gerará o Session_OnStart
evento.
Para obter mais informações sobre sessões sem cookie, consulte a IsCookieless propriedade .