SessionStateStoreProviderBase.GetItem 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í.
Devuelve datos del estado de sesión de sólo lectura desde el almacén de datos de la sesión.
public:
abstract System::Web::SessionState::SessionStateStoreData ^ GetItem(System::Web::HttpContext ^ context, System::String ^ id, [Runtime::InteropServices::Out] bool % locked, [Runtime::InteropServices::Out] TimeSpan % lockAge, [Runtime::InteropServices::Out] System::Object ^ % lockId, [Runtime::InteropServices::Out] System::Web::SessionState::SessionStateActions % actions);
public abstract System.Web.SessionState.SessionStateStoreData GetItem (System.Web.HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out System.Web.SessionState.SessionStateActions actions);
abstract member GetItem : System.Web.HttpContext * string * bool * TimeSpan * obj * SessionStateActions -> System.Web.SessionState.SessionStateStoreData
Public MustOverride Function GetItem (context As HttpContext, id As String, ByRef locked As Boolean, ByRef lockAge As TimeSpan, ByRef lockId As Object, ByRef actions As SessionStateActions) As SessionStateStoreData
Parámetros
- context
- HttpContext
Objeto HttpContext de la solicitud actual.
- locked
- Boolean
El resultado que devuelve este método contiene un valor booleano establecido en true
si el elemento de sesión solicitado está bloqueado en el almacén de datos de sesión; en caso contrario, es false
.
- lockAge
- TimeSpan
El resultado que devuelve este método contiene un objeto TimeSpan, establecido en la cantidad de tiempo que un elemento del almacén de datos de sesión ha estado bloqueado.
- lockId
- Object
El resultado que devuelve este método contiene un objeto establecido en el identificador de bloqueo de la solicitud actual. Para obtener información detallada acerca del identificador de bloqueo, vea "Bloqueo de datos de almacén de sesiones" en el resumen de la clase SessionStateStoreProviderBase.
- actions
- SessionStateActions
El resultado que devuelve este método contiene uno de los valores de SessionStateActions, que indica si la sesión actual es una sesión sin inicializar y carente de cookies.
Devoluciones
Objeto SessionStateStoreData que se ha rellenado con los valores de sesión y la información del almacén de datos de sesión.
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 SessionStateModule objeto llama al GetItem método al principio de una solicitud, durante el AcquireRequestState evento, cuando el EnableSessionState atributo se establece ReadOnly
en . Si el EnableSessionState atributo se establece true
en , el SessionStateModule objeto llama al GetItemExclusive método en su lugar.
El GetItem método devuelve un SessionStateStoreData objeto rellenado con información de sesión del almacén de datos y actualiza la fecha de expiración de los datos de sesión. Si no se encuentra ningún dato de elemento de sesión en el almacén de datos, el GetItem método establece el locked
out
parámetro false
en y devuelve null
. Esto hace que el SessionStateModule objeto llame CreateNewStoreData al método para crear un nuevo elemento de sesión en el almacén de datos.
Si los datos de elemento de sesión se encuentran en el almacén de datos, pero los datos están bloqueados, el GetItem método establece el locked
out
parámetro en , establece el lockAge
out
parámetro true
en la fecha y hora actuales menos la fecha y hora en que se bloqueó el elemento (que se recupera del almacén de datos), establece el lockId
out
parámetro en el identificador de bloqueo recuperado del almacén de datos, y devuelve null
. Esto hace que el SessionStateModule objeto llame al GetItem método de nuevo después de un intervalo de medio segundo para intentar recuperar la información del elemento de sesión.
Si el valor que el lockAge
out
parámetro se establece para superar el ExecutionTimeout valor, el SessionStateModule objeto llama al ReleaseItemExclusive método para borrar el bloqueo en los datos del elemento de sesión y, a continuación, llama al GetItem método de nuevo.
El actionFlags
parámetro se usa cuando los cookieless
atributos y regenerateExpiredSessionId
se establecen en true
. Un actionFlags
valor establecido en InitializeItem indica que la entrada en el almacén de datos de sesión es una nueva sesión que requiere inicialización. Las entradas sin inicializar en el almacén de datos de sesión se crean mediante una llamada al CreateUninitializedItem método . Si el elemento del almacén de datos de sesión no es un elemento sin inicializar, el actionFlags
parámetro se establecerá en cero.
Los implementadores personalizados del almacén de estado de sesión que admiten sesiones sin cookies deben establecer el actionFlags
out
parámetro en el valor devuelto desde el almacén de datos de sesión para el elemento actual. Si el actionFlags
valor del parámetro del elemento de almacén de sesión solicitado es igual al InitializeItem valor de enumeración, el GetItem método debe establecer el valor en el almacén de datos en cero después de establecer el actionFlags
out
parámetro .
Se aplica a
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de