Compartir vía


SessionStateStoreProviderBase.CreateUninitializedItem Método

Definición

Agrega un nuevo elemento de estado de sesión al almacén de datos.

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

Objeto HttpContext de la solicitud actual.

id
String

Objeto SessionID de la solicitud actual.

timeout
Int32

Propiedad Timeout de sesión de la solicitud actual.

Ejemplos

Para obtener un ejemplo de una implementación del proveedor de almacén de estado de sesión, consulte Implementación de un proveedor de almacén de Session-State.

Comentarios

El CreateUninitializedItem método se usa con sesiones cuando los cookieless atributos y regenerateExpiredSessionId son true. Tener establecido regenerateExpiredSessionId attribute en true hace que el SessionStateModule objeto genere un nuevo SessionID valor cuando se encuentre un valor expirado SessionID .

El proceso de generación de un nuevo SessionID valor requiere redirigir el explorador a una dirección URL que contenga el valor recién generado SessionID . Se CreateUninitializedItem llama al método durante la solicitud inicial que contiene un valor expirado SessionID . Una vez que el SessionStateModule objeto adquiere un nuevo SessionID valor para reemplazar el valor expirado, llama al CreateUninitializedItem método para agregar una entrada sin inicializar al almacén de datos de estado de sesión. A continuación, el explorador se redirige a la dirección URL que contiene el valor recién generado SessionID . La existencia de la entrada no inicializada en el almacén de datos de sesión garantiza que la solicitud redirigida que incluye el valor recién generado SessionID no se equivoce para una solicitud de una sesión expirada y, en su lugar, se trata como una nueva sesión.

La entrada no inicializada en el almacén de datos de sesión está asociada al valor recién generado SessionID y solo contiene valores predeterminados, incluida una fecha y hora de expiración y un valor que corresponde al actionFlags parámetro de los GetItem métodos y GetItemExclusive . La entrada no inicializada en el almacén de estado de sesión debe incluir un actionFlags valor igual al InitializeItem valor de enumeración. Los métodos y GetItemExclusive pasan este valor al SessionStateModule objeto GetItem e informa al SessionStateModule objeto de que la sesión actual es una sesión nueva pero sin inicializar. A continuación, el SessionStateModule objeto inicializará la nueva sesión y generará el Session_OnStart evento .

Para obtener más información sobre las sesiones sin cookies, consulte la IsCookieless propiedad .

Se aplica a

Consulte también