• Facebook
  • 트위터
  • 유튜브
  • 라인드인
  • RSS
  • 기술 문서
  • 비교
  • 블로그
  • 다운로드
  • 문의하기
다운로드
목차 표시/숨기기

ASP.NET 세션 상태 공급자 속성

ASP.NET 세션 저장 NCache 프로그래밍이 필요하지 않습니다. NCache 이 서비스는 사용자 정의 라이브러리를 통해 고성능 및 확장 가능한 ASP.NET 세션 상태 공급자를 제공합니다. SessionStateStoreProviderBase ASP.NET 애플리케이션용 구현입니다. 주요 기능으로는 세션 잠금, JSON 직렬화, 설정 가능한 재시도 횟수, 저장된 세션 데이터를 볼 수 있는 기능 등이 있습니다. GetByTag애플리케이션에서 ASP.NET 세션을 구성하고 가져오려면 다음과 같이 수정하십시오.

ASP.NET 세션 상태 태그 수정

애플리케이션 수정 웹.구성 파일 및 수정 <sessionState> 아래 그림과 같이 섹션을 참조하십시오.

<configuration>
  ...
  <sessionState cookieless="false"
                regenerateExpiredSessionId="true"
                mode="Custom"
                customProvider="NCacheSessionProvider"
                timeout="20">
    <providers>
      <add name="NCacheSessionProvider"
          type="Alachisoft.NCache.Web.SessionState.NSessionStoreProvider"
           cacheName="demoCache"
           sessionAppId="demoApp"
           useInProc="false"
           enableLogs="false"
           exceptionsEnabled="true"
           writeExceptionsToEventLog="false"
           AsyncSession="false"
           enableSessionLocking="true"
           sessionLockingRetry="-1"
           emptySessionWhenLocked="false" />       
    </providers>

  </sessionState>
...
</configuration>

웹 팜용 MachineKey 태그 수정

웹팜의 경우 <machineKey> 아래에 태그 <system.web> 이 섹션을 참조하세요. 이렇게 하면 모든 노드에서 ASP.NET 세션 ID가 동일한 방식으로 생성됩니다. 웹 팜용 머신 키 생성 방법에 대해 알아보세요. 웹 팜용 머신 키 생성(IIS 7)

<machineKey validationKey ="A01D6E0D1A5D2A22E0854CA612FE5C5EC4AECF24"
   decryptionKey ="ACD8EBF87C4C8937" validation ="SHA1"/>

세션 객체 직렬화

사용을 시작하기 전에 NCache ASP.NET 세션 객체를 저장하고 검색할 때, 이러한 객체를 캐시에 직접 저장할 수 없다는 점에 유의하십시오. 세션 객체를 캐시에 저장하려면 먼저 직렬화해야 합니다. 세션 객체를 직렬화하는 데 사용할 수 있는 다양한 방법이 있으며, 그 방법은 다음과 같습니다.

이진 직렬화

애플리케이션의 소스 코드에 액세스할 수 있는 경우 이 직렬화 방법을 사용할 수 있습니다. 이 경우 모든 개체(캐시 내부에 저장하려는 개체)를 직렬화 가능으로 표시해야 합니다.

주의 사항

그러나 이 방법은 .NET 6.0에서 더 이상 사용되지 않으며 ASP.NET 응용 프로그램 내에서 이진 직렬화 또는 압축 직렬화를 사용하는 경우 사용자에게 적절하게 알리는 예외가 발생합니다.

NCache 컴팩트 직렬화

이진 직렬화의 대안으로 다음을 사용할 수 있습니다. NCache 컴팩트 직렬화 세션 개체를 직렬화합니다. 더 빠르고 소스 코드를 수정하는 대신 구성 파일만 수정하면 됩니다.

이 방법의 유일한 문제점은 직렬화하려는 클래스 수가 많은 경우 구성 변경이 커질 수 있다는 것입니다.

JSON 직렬화

위에 언급된 직렬화 기법 중 어느 것도 요구 사항을 충족하지 못하는 경우 JSON 직렬화를 선택할 수 있습니다. 이 방법은 매우 빠르고 간단하며, 단 하나의 변경만 필요합니다. 웹.구성 파일을 저장하고 나머지 작업은 다음에 의해 수행됩니다. NCache 런타임에.

의 값을 설정하기만 하면 됩니다. useJsonSerialization True로 플래그를 지정합니다. 기본적으로 이 플래그의 값은 False입니다.

세션 데이터 가져오기

NCache 클러스터링된 캐시에 저장된 모든 세션 데이터를 볼 수 있습니다. NCache 세션 상태 모듈. 모든 세션 데이터는 태그가 지정된 캐시 항목으로 태그와 함께 지정된 캐시에 추가됩니다. NC_ASP.NET_session_data.

이전에 저장된 세션 데이터는 다음을 통해 가져올 수 있습니다. GetByTag 캐시에 저장된 세션 ID 및 관련 세션 데이터로 채워진 사전을 반환하는 API.

var allSessionData = cache.SearchService.GetByTag(new Tag("NC_ASP.NET_session_data"));

세션 상태 속성

다음은 위에 명시된 키-값 쌍에 대한 설명입니다.

회원 기술설명
sessionAppId 선택사항입니다 string 여러 애플리케이션이 동일한 캐시를 사용하는 경우 세션 ID가 고유하게 유지되도록 식별자를 지정하는 속성입니다. 애플리케이션 ID는 웹 팜의 애플리케이션에 대해 동일해야 합니다. 앱 ID가 지정되지 않으면 세션 ID와 연결된 것이 없습니다.
cacheName 이는 필수 사항입니다. String 캐싱 세션에 사용될 캐시의 이름을 지정하는 속성입니다. 캐시 이름을 지정하지 않으면 구성 예외가 발생합니다.
enableSessionLocking 선택 사항 Boolean 속성. 이 플래그가 True로 설정된 경우 NCache 세션 스토어 공급자는 여러 동시 요청이 이루어지는 세션 스토어 항목을 독점적으로 잠급니다. 기본값은 False입니다.
sessionLockingRetry 이것은 선택 사항입니다 Integer 기인하다. 만약에 enableSessionLocking 참이고 이 정수는 0보다 작지 않습니다. NCache 세션 저장소 공급자는 다음 후 빈 세션을 반환합니다. sessionLockingRetry, 잠금을 획득하기 위한 재시도 횟수를 지정합니다. 기본값은 -1입니다.
writeExceptionsToEventLog 선택 사항 Boolean 속성입니다. 이 플래그를 True로 설정하면 캐시 API에서 발생하는 모든 예외가 이벤트 로그에 기록됩니다. 기본값은 False입니다.
enableLogs 선택사항입니다 Boolean 속성. 이 플래그가 True로 설정되면 스토어 공급자가 모든 오류 정보를 기록합니다. 로그 파일은 다음에 생성됩니다. %NCHOME%\log-files\SessionStoreProvider (Windows) 또는 /opt/ncache/log-files/SessionStoreProvider (Linux). 기본값은 False입니다.
enableDetailLogs 선택 사항 Boolean 속성. 이 플래그가 True로 설정되면 스토어 공급자가 모든 디버깅 정보를 기록합니다. 로그 파일은 다음에 생성됩니다. %NCHOME%\log-files\SessionStoreProvider (Windows) 또는 /opt/ncache/log-files/SessionStoreProvider (Linux). 기본값은 False입니다.
exceptionsEnabled 이것은 선택 사항입니다 Boolean 캐시 API에서 발생하는 예외를 페이지 출력에 반영할지 여부를 지정하는 속성입니다. 예외를 통해 실패 원인에 대한 자세한 정보를 얻을 수 있으므로, 이 플래그를 True로 설정하면 애플리케이션 개발 단계에서 특히 유용합니다. 기본값은 False입니다.
operationRetry 이 값은 작업 실행 중에 서버와의 연결이 끊어졌을 경우 서버가 해당 작업을 재시도할 횟수를 지정합니다. 기본값은 다음과 같습니다. 0(제로).
operationRetryInterval 서버와의 연결이 끊어진 경우 각 작업 재시도 사이의 시간 간격을 지정합니다. 기본값은 다음과 같습니다. 0(제로).

도 참조

ASP.NET과 ASP.NET Core 간의 세션 공유
ASP.NET SignalR 백플레인

문의하기

전화

+1 214-619-2601   (미국)

+44 20 7993 8327   (UK)

 
이메일

sales@alachisoft.com

support@alachisoft.com

NCache
  • 판 비교
  • NCache 아키텍처
  • 벤치 마크
다운로드
가격
놀이터를 사용해보십시오

배포
  • 클라우드(SaaS 및 소프트웨어)
  • 온 프레미스
  • Kubernetes
  • 도커
기술 사용 사례
  • ASP.NET 세션
  • ASP.NET 코어 세션
  • 게시/구독 메시징
  • 실시간 ASP.NET SignalR
  • 사물의 인터넷 IOT ()
  • NoSQL 데이터베이스
  • 스트림 처리
  • 마이크로 서비스
리소스
  • 잡지 기사
  • 제XNUMX자 기사
  • 기사
  • 비디오
  • 백서
  • 쇼
  • 회담
  • 블로그
  • 기술 문서
고객 사례 연구
  • 환자 후기
  • 고객
고객 지원
  • 데모 예약
  • 포럼(Google 그룹스)
  • Tips
회사
  • Leadership
  • 파트너
  • ​뉴스
  • 이벤트
  • 채용 정보
문의하기

  • 영어중국어 (간체)프랑스어독일 사람이탈리아 사람일본제한국어포르투갈어스페인어

  • 문의하기
  •  
  • 사이트 맵
  •  
  • 이용 약관
  •  
  • 개인정보 처리방침
© 저작권 Alachisoft 2002 - . 판권 소유. NCache 는 Diyatech Corp.의 등록상표입니다.
맨 위로