SessionStateStoreProviderBase.CreateUninitializedItem Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Adiciona um novo item de estado de sessão ao 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 o pedido atual.
Exemplos
Para um exemplo de implementação de um fornecedor de armazenamento em estado de sessão, veja Implementar um Fornecedor de Loja Session-State.
Observações
O CreateUninitializedItem método é usado com sessões quando os cookieless atributos e regenerateExpiredSessionId são ambos true. Ter o regenerateExpiredSessionId attribute conjunto como true faz com que o SessionStateModule objeto gere um novo SessionID valor quando um valor expirado SessionID é encontrado.
O processo de gerar um novo SessionID valor requer redirecionar o navegador para uma URL que contenha o valor recém-gerado SessionID . O CreateUninitializedItem método é chamado durante o pedido inicial que contém um valor expirado SessionID . Depois de o SessionStateModule objeto adquirir um novo SessionID valor para substituir o valor expirado, chama o CreateUninitializedItem método para adicionar uma entrada não inicializada ao armazenamento de dados do estado da sessão. O navegador é então 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 da sessão assegura que o pedido redirecionado que inclui o valor recém-gerado SessionID não é confundido com um pedido de uma sessão expirada e é, em vez disso, tratado como uma nova sessão.
A entrada não inicializada no armazenamento de dados da 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 armazenamento de estado de sessão deve incluir um actionFlags valor igual ao valor da InitializeItem enumeração. Este valor é passado ao SessionStateModule objeto pelos GetItem métodos e GetItemExclusive e informa o SessionStateModule objeto de que a sessão atual é uma sessão nova, mas não inicializada. O SessionStateModule objeto irá então inicializar a nova sessão e gerar o Session_OnStart evento.
Para mais informações sobre sessões sem cookies, consulte a IsCookieless propriedade.