영업: 1-800-867-1380

Azure 역할 내 캐시용 세션 상태 공급자

업데이트 날짜: 2015년 5월

note참고
응용 프로그램에 대한 올바른 Azure 캐시 제품 선택에 대한 자세한 지침은 내게 적합한 Azure 캐시 기능를 참조하세요.

세션 상태 공급자는 ASP.NET 응용 프로그램의 Out-of-process 저장소 메커니즘입니다. 이 공급자를 사용하여 메모리 내 또는 SQL Server 데이터베이스 대신 캐시에 세션 상태를 저장할 수 있습니다.

세션 상태 캐싱 예제는 캐싱 세션 상태 및 출력 캐싱 예제를 참조하세요.

세션 상태 공급자는 이전 ASP.NET 세션 상태 공급자에 비해 다음 기능이 향상되었습니다.

  • 세션 상태 직렬화에 내부적으로 NetDataContractSerializer 클래스를 사용합니다.

  • 서로 다른 ASP.NET 응용 프로그램 간에 세션 상태를 공유할 수 있습니다.

  • 여러 판독기와 단일 작성기에 대해 동일한 세션 상태 집합에 대한 동시 액세스를 지원합니다.

  • 캐시 클라이언트 속성을 통해 압축을 사용할 수 있습니다.

직렬화에 NetDataContractSerializer 클래스를 사용하면 보다 광범위한 직렬화 가능 유형을 지원할 수 있습니다. 여기에는 이진 직렬화 가능 유형에 대한 지원이 포함됩니다.

공급자는 서로 다른 ASP.NET 응용 프로그램에서 같은 세션 상태 데이터를 읽고 쓰는 기능을 지원합니다. 예를 들어 개발자에게 서로 다른 두 개의 ASP.NET 사이트, /contoso와 /adventureworks가 있다고 가정해 보겠습니다. 세션 상태 공급자는 캐시 클러스터의 동일한 세션 상태 저장소를 가리키도록 각 웹 응용 프로그램에 구성될 수 있습니다. 따라서 두 응용 프로그램 모두 주어진 세션 식별자에 대해 동일한 세션 데이터를 읽고 씁니다.

세션 상태 공급자는 여러 판독기와 단일 작성기에 대해 동일한 세션 상태 집합에 대한 동시 액세스를 지원합니다. 이 경우의 판독기는 ReadOnly 세션 상태를 사용할 때처럼 표시되는 페이지로 정의됩니다. 대다수 응용 프로그램의 세션 상태 액세스 패턴에 세션 상태에 대한 읽기 전용 액세스만 필요한 경우 AJAX 콜백을 광범위하게 사용하는 응용 프로그램에서는 서버 쪽 요청 대기가 발생하지 않습니다.

  1. 먼저 ASP.NET 공급자에서 사용할 캐시를 구성합니다. 캐싱은 같은 위치에 배치된 토폴로지 또는 전용 역할과 함께 호스팅할 수 있습니다.

  2. NuGet을 사용하여 Visual Studio에서 ASP.NET 프로젝트에 캐싱 지원을 추가합니다. 자세한 내용은 방법: Azure 역할 내 캐시를 사용하도록 Visual Studio 준비을 참조하십시오.

    Important중요
    이러한 단계를 수행하려면 최신 NuGet 패키지 관리자(버전 2.1.31002.9028 이상)가 있어야 합니다. 최신 NuGet 패키지 관리자를 설치하려면 http://go.microsoft.com/fwlink/?LinkId=240311로 이동하세요.

  3. 세션 상태 캐싱을 구성하는 기존 sessionState 요소를 모두 제거합니다. NuGet 패키지에 의해 추가된 주석 처리되어 있는 sessionState 섹션은 제거하지 마세요.

  4. web.config 파일에서 sessionState 섹션에 대한 주석 처리를 제거합니다.

        <!-- Azure Caching session state provider -->
        <sessionState mode="Custom" customProvider="AFCacheSessionStateProvider">
          <providers>
            <add name="AFCacheSessionStateProvider" 
              type="Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider, Microsoft.Web.DistributedCache"
              cacheName="default" 
              dataCacheClientName="default" 
              applicationName="AFCacheSessionState"/>
          </providers>
        </sessionState>
    

다음 목록에는 출력 캐시 공급자에 영향을 주는 선택적 구성 변경 사항이 나와 있습니다.

  • add 요소의 cacheName 특성으로 명명된 대상 캐시를 변경합니다.

  • add 요소의 dataCacheClientName 특성으로 캐시 클라이언트 설정의 원본을 변경합니다. 이 특성을 web.config 파일의 기존 dataCacheClient 섹션의 이름으로 설정합니다.

  • 연관된 dataCacheClient 섹션의 설정을 변경하여 캐시 클라이언트의 동작을 수정합니다. 예를 들어 isCompressionEnabled 특성을 사용하여 압축을 사용하도록 설정합니다.

    <dataCacheClient name="default" isCompressionEnabled="true">
    
    사용 가능한 구성 옵션 목록은 역할 내 캐시 클라이언트 구성 설정(Web.config)을 참조하세요. 캐싱용 ASP.NET 공급자는 이진 또는 사용자 지정 직렬화 유형을 지원하지 않습니다. 이러한 직렬 변환기를 세션 상태에 사용하면 다음과 같은 예외가 발생합니다. "'Microsoft.Web.DistributedCache, Version=101.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 어셈블리의 'Microsoft.Web.DistributedCache.SerializableSessionStateStoreData' 형식이 직렬화로 표시되어 있지 않습니다."

  • 세션 상태 공급자의 설정을 변경합니다. 사용 가능한 구성 옵션 목록은 Azure 역할 내 캐시의 ASP.NET 세션 상태 공급자 구성 설정을 참조하세요.

참고 항목

이 정보가 도움이 되었습니까?
(1500자 남음)
의견을 주셔서 감사합니다.
표시:
© 2015 Microsoft