SessionStateStoreProviderBase.GetItemExclusive 메서드

정의

세션 데이터 저장소에서 읽기 전용 세션 상태 데이터를 반환합니다.

public:
 abstract System::Web::SessionState::SessionStateStoreData ^ GetItemExclusive(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 GetItemExclusive(System.Web.HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out System.Web.SessionState.SessionStateActions actions);
abstract member GetItemExclusive : System.Web.HttpContext * string * bool * TimeSpan * obj * SessionStateActions -> System.Web.SessionState.SessionStateStoreData
Public MustOverride Function GetItemExclusive (context As HttpContext, id As String, ByRef locked As Boolean, ByRef lockAge As TimeSpan, ByRef lockId As Object, ByRef actions As SessionStateActions) As SessionStateStoreData

매개 변수

context
HttpContext

HttpContext 현재 요청에 대한 것입니다.

id
String

SessionID 현재 요청에 대한 것입니다.

locked
Boolean

이 메서드가 반환될 때 잠금을 성공적으로 가져오는 경우로 true 설정된 부울 값이 포함되고, false그렇지 않으면 .

lockAge
TimeSpan

이 메서드가 반환되면 세션 데이터 저장소의 항목이 잠긴 시간으로 설정된 개체가 포함 TimeSpan 됩니다.

lockId
Object

이 메서드가 반환되면 현재 요청에 대한 잠금 식별자로 설정된 개체가 포함됩니다. 잠금 식별자에 대한 자세한 내용은 클래스 요약의 "Session-Store 데이터 잠금"을 SessionStateStoreProviderBase 참조하세요.

actions
SessionStateActions

이 메서드가 반환될 때 현재 세션이 SessionStateActions 초기화되지 않은 쿠키 없는 세션인지 여부를 나타내는 값 중 하나가 포함됩니다.

반품

SessionStateStoreData 세션 데이터 저장소의 세션 값 및 정보로 채워진 값입니다.

예제

세션 상태 저장소 공급자 구현의 예는 Session-State 스토어 공급자 구현을 참조하세요.

설명

개체는 SessionStateModule 이벤트 중에 AcquireRequestState 기본값인 특성이 설정된 경우 EnableSessionState 요청 시작 시 메서드를 true호출 GetItemExclusive 합니다. 특성이 EnableSessionState 설정된 ReadOnlySessionStateModule 경우 개체는 대신 메서드를 호출합니다GetItem.

이 메서드는 GetItemExclusive 데이터 저장소의 세션 정보로 채워진 개체를 반환 SessionStateStoreData 하고, 저장된 데이터의 만료 날짜를 업데이트하고, 요청 기간 동안 데이터 저장소의 세션 항목 데이터를 잠급니다. 데이터 저장소 GetItemExclusive 에 세션 항목 데이터가 없는 경우 메서드는 매개 변수를 lockedout 설정하여 false 반환합니다 null. 이렇게 하면 개체가 SessionStateModule 메서드를 CreateNewStoreData 호출하여 데이터 저장소에 새 세션 항목을 만듭니다. 세션 항목 데이터가 데이터 저장소에서 발견되었지만 데이터가 잠긴 GetItemExclusive 경우 메서드는 매개 변수를 true현재 날짜 및 시간으로 설정하고 lockAgeoutoutlocked, 항목이 잠긴 날짜와 시간을 뺀 값(데이터 저장소에서 검색됨)으로 매개 변수를 설정하고, 데이터 저장소에서 검색된 잠금 식별자에 매개 변수를 설정합니다.lockIdout 를 반환null합니다. 이렇게 하면 개체가 SessionStateModule 세션 항목 정보를 검색하고 데이터에 대한 잠금을 얻기 위해 반초 간격 후에 메서드를 다시 호출 GetItemExclusive 합니다. 매개 변수가 lockAge값을 초과하도록 설정된 경우 메서드를 호출 ReleaseItemExclusive 하여 세션 항목 데이터에 대한 잠금을 지우고 메서드를 다시 호출합니다GetItemExclusive.ExecutionTimeoutSessionStateModuleout

actionFlags 매개 변수는 특성과 regenerateExpiredSessionId 특성이 cookieless 모두 .로 true설정된 경우에 사용됩니다. actionFlags 세션 데이터 저장소의 항목이 초기화가 필요한 새 세션임을 나타내는 값 집합 InitializeItem 입니다. 세션 데이터 저장소에서 초기화되지 않은 항목은 메서드를 호출하여 CreateUninitializedItem 생성됩니다. 세션 데이터 저장소의 항목이 초기화되지 않은 항목이 아니면 매개 변수가 actionFlags 0으로 설정됩니다.

쿠키 없는 세션을 지원하는 사용자 지정 세션 상태 저장소 구현자는 매개 변수를 현재 항목에 대한 세션 데이터 저장소에서 반환된 값으로 설정 actionFlagsout 해야 합니다. 요청된 actionFlags 세션 저장소 항목의 매개 변수 값이 열거형 값과 같 InitializeItem 으면 메서드는 GetItemExclusive 매개 변수를 설정한 actionFlagsout 후 데이터 저장소의 값을 0으로 설정해야 합니다.

적용 대상

추가 정보