SessionStateStoreProviderBase.CreateUninitializedItem Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
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 .