SessionStateStoreProviderBase 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
데이터 저장소에 대한 세션 상태 공급자의 필수 멤버를 정의합니다.
public ref class SessionStateStoreProviderBase abstract : System::Configuration::Provider::ProviderBase
public abstract class SessionStateStoreProviderBase : System.Configuration.Provider.ProviderBase
type SessionStateStoreProviderBase = class
inherit ProviderBase
Public MustInherit Class SessionStateStoreProviderBase
Inherits ProviderBase
- 상속
예제
세션 상태 저장소 공급자 구현 예제를 보려면 세션 상태 저장소 공급자 구현합니다.
다음 코드 예제에서는 사용자 지정 세션 상태 저장소 공급자를 사용 하도록 구성 된 ASP.NET 애플리케이션에 대 한 Web.config 파일을 보여줍니다.
<configuration>
<connectionStrings>
<add name="OdbcSessionServices" connectionString="DSN=SessionState;" />
</connectionStrings>
<system.web>
<sessionState
mode="Custom"
customProvider="OdbcSessionProvider">
<providers>
<add name="OdbcSessionProvider"
type="Samples.AspNet.Session.OdbcSessionStateStore"
connectionStringName="OdbcSessionServices" />
</providers>
</sessionState>
</system.web>
</configuration>
설명
ASP.NET 세션 상태를 읽고에서 세션 상태를 사용 하 여 데이터 저장소로 세션 데이터 저장소 공급자를 기록 합니다. 세션 상태 저장소 공급자는 상속 된 클래스는 SessionStateStoreProviderBase 데이터에 특정 된 구현 사용 하 여 해당 멤버를 저장 하는 추상 클래스 및 재정의 합니다. ASP.NET 페이지를 처리하는 동안 세션 상태 저장소 공급자는 SessionStateModule 클래스에 의해 호출되어 세션 변수 및 시간 제한 값과 같은 관련 세션 정보를 저장하고 검색하기 위해 스토리지용 데이터 저장소와 통신합니다.
각 ASP.NET 애플리케이션 내 세션 데이터는 각각에 대해 개별적으로 저장 됩니다 SessionID 속성입니다. ASP.NET 애플리케이션에서 세션 데이터를 공유 하지 않습니다.
사용자 지정을 지정할 수 있습니다 SessionStateStoreProviderBase 설정 하 여 ASP.NET 애플리케이션에 대 한 구현을 합니다 mode
특성을 sessionState
구성 요소를 Custom 및 customProvider
으로 특성을 사용자 지정 공급자의 이름 이 항목의 예제에 나와 있습니다.
세션 저장소 데이터 잠금
있기 때문에 ASP.NET 애플리케이션은 동시 요청에 응답을 지원 하기 위해 다중 스레드, 동시 요청 수 같은 세션 정보에 액세스 하려고 할 수 있습니다. 여기서 모든 프레임셋에서 다중 프레임 동일한 애플리케이션을 액세스 하는 시나리오를 고려 합니다. 여러 스레드에서 동시에 웹 서버의 프레임셋의 각 프레임에 대 한 별도 요청을 실행할 수 있습니다. 세션 상태 변수에 액세스 하는 각 프레임 원본에 대 한 ASP.NET 페이지, 세션 저장소를 동시에 액세스 하는 여러 스레드가 있을 수 있습니다.
예기치 않은 세션 상태 동작을 확인 하 고 세션 저장소에서 데이터 충돌을 방지 하려면 합니다 SessionStateModule 및 SessionStateStoreProviderBase 을 단독으로 기간에 대 한 특정 세션에 대 한 세션 저장소 항목을 잠그는 잠금 기능을 포함 하는 클래스를 ASP.NET 페이지의 실행 합니다. 경우에도 확인 합니다 EnableSessionState 특성으로 표시 되어 ReadOnly
, 동일한 애플리케이션의 다른 ASP.NET 페이지는 저장소의에서 데이터를 여전히 생길 수에 대 한 대기 중인 읽기 전용 세션에 대 한 요청을 잠글 데이터가 될 수 있도록 세션 저장소에 쓸 수 있습니다 해제 합니다.
세션 저장소 데이터 요청에 대 한 호출의 시작 부분에 잠금이 설정 된 GetItemExclusive 메서드. 호출 하는 동안에 잠금이 해제 되는 요청이 완료 되 면를 SetAndReleaseItemExclusive 메서드.
경우는 SessionStateModule 개체를 호출 하는 동안 잠긴된 세션 데이터를 발생 합니다 GetItemExclusive 또는 GetItem 메서드를 다시 요청 세션 데이터를 0.5 초 간격으로 잠금이 해제 되 되거나 크기는 시간까지 세션 데이터를 잠 궜 습니다의 값을 초과 합니다 ExecutionTimeout 속성입니다. 실행 제한 시간 초과 되 면 합니다 SessionStateModule 개체를 호출 합니다는 ReleaseItemExclusive 메서드를 세션 저장소 데이터를 해제 하 고 해당 시점에 세션 저장소 데이터를 요청 합니다.
세션 저장소 잠겨 있으므로 데이터를 호출 하 여 해제할 수는 ReleaseItemExclusive 메서드를 호출 하기 전에 별도 스레드에서 SetAndReleaseItemExclusive 현재 응답에 대 한 메서드를 설정 하 고 있는 데이터를 세션 상태 저장소 해제 시도가 수행 수 이미 해제 되어 다른 세션에서 수정 합니다. 이 상황을 방지 하려면 합니다 GetItem 및 GetItemExclusive 메서드 잠금 식별자를 반환 합니다. 이 잠금 식별자 잠긴된 세션 저장소 데이터를 수정 하는 각 요청에 포함 해야 합니다. 세션 저장소 데이터 저장소에서 잠금 식별자가 제공한 잠금 식별자와 일치 하는 경우에 데이터가 수정 되는 SessionStateModule합니다.
만료 된 세션 저장소 데이터를 삭제합니다.
경우는 Abandon 메서드는 특정 세션을 사용 하 여 데이터 저장소에서 해당 세션에 대 한 데이터가 삭제 됩니다는 RemoveItem 메서드를 세션에 대 한 데이터를 이후 요청을 처리 하려면 세션 데이터 저장소에 유지 하는 고, 그렇지 합니다. 것은 SessionStateStoreProviderBase 만료 된 세션 데이터를 삭제 하려면 구현 합니다.
생성자
SessionStateStoreProviderBase() |
SessionStateStoreProviderBase 클래스의 새 인스턴스를 초기화합니다. |
속성
Description |
관리 도구나 다른 UI(사용자 인터페이스)에 표시하기에 적합한 간단하고 이해하기 쉬운 설명을 가져옵니다. (다음에서 상속됨 ProviderBase) |
Name |
구성 중 공급자를 참조하는 데 사용되는 이름을 가져옵니다. (다음에서 상속됨 ProviderBase) |
메서드
적용 대상
추가 정보
.NET