Export (0) Print
Expand All

SessionStateStoreProviderBase::GetItem Method

Returns read-only session-state data from the session data store.

Namespace:  System.Web.SessionState
Assembly:  System.Web (in System.Web.dll)

public:
virtual SessionStateStoreData^ GetItem(
	HttpContext^ context, 
	String^ id, 
	[OutAttribute] bool% locked, 
	[OutAttribute] TimeSpan% lockAge, 
	[OutAttribute] Object^% lockId, 
	[OutAttribute] SessionStateActions% actions
) abstract

Parameters

context
Type: System.Web::HttpContext
The HttpContext for the current request.
id
Type: System::String
The SessionID for the current request.
locked
Type: System::Boolean%
When this method returns, contains a Boolean value that is set to true if the requested session item is locked at the session data store; otherwise, false.
lockAge
Type: System::TimeSpan%
When this method returns, contains a TimeSpan object that is set to the amount of time that an item in the session data store has been locked.
lockId
Type: System::Object%
When this method returns, contains an object that is set to the lock identifier for the current request. For details on the lock identifier, see "Locking Session-Store Data" in the SessionStateStoreProviderBase class summary.
actions
Type: System.Web.SessionState::SessionStateActions%
When this method returns, contains one of the SessionStateActions values, indicating whether the current session is an uninitialized, cookieless session.

Return Value

Type: System.Web.SessionState::SessionStateStoreData
A SessionStateStoreData populated with session values and information from the session data store.

The SessionStateModule object calls the GetItem method at the beginning of a request, during the AcquireRequestState event, when the EnableSessionState attribute is set to ReadOnly. If the EnableSessionState attribute is set to true, the SessionStateModule object instead calls the GetItemExclusive method.

The GetItem method returns a SessionStateStoreData object populated with session information from the data store and updates the expiration date of the session data. If no session-item data is found at the data store, the GetItem method sets the locked out parameter to false and returns nullptr. This causes the SessionStateModule object to call the CreateNewStoreData method to create a new session item in the data store.

If session-item data is found at the data store but the data is locked, the GetItem method sets the locked out parameter to true, sets the lockAge out parameter to the current date and time minus the date and time when the item was locked (which is retrieved from the data store), sets the lockId out parameter to the lock identifier retrieved from the data store, and returns nullptr. This causes the SessionStateModule object to call the GetItem method again after a half-second interval to attempt to retrieve the session-item information.

If the value that the lockAge out parameter is set to exceed the ExecutionTimeout value, then the SessionStateModule object calls the ReleaseItemExclusive method to clear the lock on the session-item data, and then calls the GetItem method again.

The actionFlags parameter is used when both the cookieless and regenerateExpiredSessionId attributes are set to true. An actionFlags value set to InitializeItem indicates that the entry in the session data store is a new session that requires initialization. Uninitialized entries in the session data store are created by a call to the CreateUninitializedItem method. If the item from the session data store is not an uninitialized item, the actionFlags parameter will be set to zero.

Custom session-state store implementers that support cookieless sessions should set the actionFlags out parameter to the value returned from the session data store for the current item. If the actionFlags parameter value for the requested session-store item equals the InitializeItem enumeration value, then the GetItem method should set the value in the data store to zero after setting the actionFlags out parameter.

For an example of a session-state store provider implementation, see Implementing a Session-State Store Provider.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Community Additions

ADD
Show:
© 2014 Microsoft