SessionStateStoreProviderBase.CreateUninitializedItem Método

Definição

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.

id
String

O SessionID para o pedido atual.

timeout
Int32

A sessão Timeout 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.

Aplica-se a

Ver também