이 설명서는 보관되지만 유지 되지 않습니다.

방법: Azure 관리 캐시 서비스의 캐시 클라이언트 구성

업데이트 날짜: 2015년 8월

Important중요
새로 시작하는 모든 개발 작업에서는 Azure Redis Cache를 사용하는 것이 좋습니다. Azure Cache 기능 선택에 대한 최신 설명서 및 지침은 내게 적합한 Azure 캐시 기능을 참조하세요.

관리 캐시 서비스는 캐시 클라이언트를 쉽게 구성할 수 있도록 필요한 어셈블리 참조와 구성을 추가하는 NuGet 패키지를 제공합니다. 또한 캐시 NuGet 패키지는 캐시 세션 상태 및 페이지 출력 캐시 공급자를 사용할 수 있도록 웹 프로젝트에 대한 web.config에서 주석 처리된 섹션을 제공합니다. 이 항목에서는 캐시 NuGet 패키지를 사용하여 캐시 클라이언트를 구성하는 방법에 대한 연습 과정을 제공합니다.

관리 캐시 서비스 클라이언트 응용 프로그램은 쉽게 구성할 수 있습니다. 관리 캐시 서비스에서는 캐시 클라이언트가 캐시에 액세스할 수 있도록 필요한 구성 및 어셈블리 참조를 추가하는 NuGet 패키지를 제공합니다.

note참고
관리 캐시 서비스에서는 Azure 웹 사이트, 클라우드 서비스 및 가상 컴퓨터 클라이언트 응용 프로그램을 지원합니다. 이러한 여러 클라이언트 응용 프로그램 유형의 구성 단계는 서로 매우 비슷하며 약간의 차이만 있습니다. 제공되는 캐시 NuGet 패키지는 이러한 차이의 대부분을 자동으로 처리하며 이러한 차이는 이 항목의 여러 곳에 설명되어 있습니다. 차이에 대한 요약은 Cache Service Client Application Types을 참조하세요.

클라우드 서비스 응용 프로그램을 만드는 경우 Azure SDK 버전 2.1 이상을 사용 중인지 확인하세요. Azure 웹 사이트 또는 가상 컴퓨터 클라이언트 응용 프로그램을 만드는 경우 캐시 NuGet 패키지가 시작에 필요한 모든 항목을 설치합니다.

Important중요
이러한 단계를 수행하려면 NuGet 패키지 관리자 버전 2.6.40627.9000 이상이 필요합니다. 최신 NuGet 패키지 관리자를 설치하려면 NuGet 패키지 관리자를 참조하세요.

관리 캐시 서비스 NuGet 패키지를 사용하려면 솔루션 탐색기에서 클라이언트 프로젝트를 마우스 오른쪽 단추로 클릭하고 NuGet 패키지 관리를 선택합니다.

Azure 캐싱을 선택하고 설치를 클릭한 다음 동의함을 클릭합니다. 패키지가 클라이언트 프로젝트에 설치되면 닫기를 클릭하여 NuGet 패키지 관리 창을 닫습니다.

note참고
목록에 Azure 캐싱이 나타나지 않으면 온라인 검색 텍스트 상자에 WindowsAzure.Caching을 입력합니다.

Windows Azure 캐시 NuGet 패키지

관리 캐시 서비스 NuGet 패키지가 클라이언트 프로젝트에 설치된 경우 클라이언트 응용 프로그램이 캐시에 액세스할 수 있도록 필수 구성과 어셈블리 참조가 추가됩니다.

클라이언트 프로젝트의 web.config 또는 app.config에 여러 항목이 추가됩니다.

  1. dataCacheClientscacheDiagnostics라는 두 개의 섹션이 configSections에 추가됩니다.

    <!-- Non-cache sections omitted for space -->
      <configSections>
        <section name="dataCacheClients" 
            type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core" 
            allowLocation="true" 
            allowDefinition="Everywhere" />
    
        <section name="cacheDiagnostics" 
            type="Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsConfigurationSection, Microsoft.ApplicationServer.Caching.AzureCommon" 
            allowLocation="true" 
            allowDefinition="Everywhere" />
      </configSections>
    
  2. dataCacheClients 섹션이 configuration 섹션에 추가됩니다.

    <!-- Non-cache sections omitted for space -->
      <dataCacheClients>
        <dataCacheClient name="default">
          <!--To use the in-role flavor of Azure Caching, set identifier to be the cache cluster role name -->
          <!--To use the Azure Caching Service, set identifier to be the endpoint of the cache cluster -->
          <autoDiscover
            isEnabled="true" 
            identifier="[Cache role name or Service Endpoint]" />
          <!--<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />-->
          <!--Use this section to specify security settings for connecting to your cache. 
              This section is not required if your cache is hosted on a role that is a part 
              of your cloud service. -->
          <!--<securityProperties mode="Message" sslEnabled="false">
            <messageSecurity authorizationInfo="[Authentication Key]" />
          </securityProperties>-->
        </dataCacheClient>
      </dataCacheClients>
    
    [Cache role name or Service Endpoint]를 관리 포털의 캐시 대시보드에 표시되는 끝점 URL로 바꿉니다.

    Windows Azure 캐시 서비스의 끝점 URL
    이 예제에서는 캐시가 명명된 applicationcache이고 끝점 URL이 applicationcache.cache.windows.net입니다.

    <autoDiscover isEnabled="true" identifier="applicationcache.cache.windows.net" />
    
    securityProperties 섹션에서 주석 처리를 제거하고 [Authentication Key]를 인증 키로 바꿉니다.

    <!--Use this section to specify security settings for connecting to your cache. 
        This section is not required if your cache is hosted on a role that is a part 
        of your cloud service. -->
    <!--<securityProperties mode="Message" sslEnabled="false">
      <messageSecurity authorizationInfo="[Authentication Key]" />
    </securityProperties>-->
    
    
    인증 키는 관리 포털의 캐시 대시보드에서 액세스 키를 클릭하여 찾을 수 있습니다.

    Windows Azure 캐시 서비스의 액세스 키 관리
    Warning경고
    이 설정은 올바르게 구성되어야 합니다. 그렇지 않으면 클라이언트가 캐시에 액세스할 수 없습니다.

클라우드 서비스 프로젝트의 경우 관리 캐시 서비스 NuGet 패키지는 ConfigurationSettings에서 캐시 클라이언트 역할의 ServiceConfiguration.cscfgClientDiagnosticLevel 설정도 추가합니다. 다음 예제에서는 WebRole1 파일의 ServiceConfiguration.cscfg 섹션으로, ClientDiagnosticLevel이 기본 ClientDiagnosticLevel인 1로 설정되어 있습니다.

<Role name="WebRole1">
  <Instances count="1" />
  <ConfigurationSettings>
    <!-- Other settings omitted for space... -->
    <Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="1" />
  </ConfigurationSettings>
</Role>
note참고
캐시 진단 수준에 대한 자세한 내용은 Azure 관리 캐시 서비스의 ClientDiagnosticLevel 정보을 참조하세요.

관리 캐시 서비스 NuGet 패키지는 필수 구성을 추가할 뿐만 아니라 다음 어셈블리 참조도 추가합니다.

  • Microsoft.ApplicationServer.Caching.Client.dll

  • Microsoft.ApplicationServer.Caching.Core.dll

  • Microsoft.ApplicationServer.Caching.AzureCommon.dll

  • Microsoft.ApplicationServer.Caching.AzureClientHelper.dll

  • Microsoft.WindowsFabric.Common.dll

  • Microsoft.WindowsFabric.Data.Common.dll

프로젝트가 웹 프로젝트인 경우 다음 어셈블리 참조도 추가됩니다.

  • Microsoft.Web.DistributedCache.dll

Microsoft Azure 캐시 세션 상태 공급자는 ASP.NET 응용 프로그램에 대한 Out of Process 저장소 메커니즘입니다. 이 공급자를 사용하여 메모리 내 또는 SQL Server 데이터베이스 대신 캐시에 세션 상태를 저장할 수 있습니다. 캐싱 NuGet 패키지를 사용하여 캐싱을 사용하도록 설정하는 경우 캐시 세션 상태 공급자를 사용하도록 주석 처리된 섹션을 추가합니다.

  1. 먼저 이전 캐싱 NuGet 패키지를 사용하여 캐시 클라이언트 구성 섹션에 설명된 대로 ASP.NET 공급자에서 사용할 캐시를 구성합니다.

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

  3. 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">
      <!-- Other cache settings omitted -->
    </dataCacheClient>
    
    사용 가능한 구성 옵션 목록은 Azure 관리 캐시 서비스의 캐시 클라이언트 구성 설정을 참조하세요. 캐싱용 ASP.NET 공급자는 이진 또는 사용자 지정 직렬화 유형을 지원하지 않습니다. 이러한 직렬 변환기를 세션 상태에 사용하면 다음과 같은 예외가 발생합니다. " 'Microsoft.Web.DistributedCache, Version=101.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 어셈블리의 'Microsoft.Web.DistributedCache.SerializableSessionStateStoreData' 형식이 직렬화로 표시되어 있지 않습니다."

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

Microsoft Azure 캐시 출력 캐시 공급자는 출력 캐시 데이터에 대한 Out of Process 저장소 메커니즘입니다. 이 데이터는 특별히 전체 HTTP 응답(페이지 출력 캐싱)과 관련이 있습니다. 공급자는 ASP.NET 4에 도입된 새로운 출력 캐시 공급자 확장 지점에 연결됩니다. 캐싱 NuGet 패키지를 사용하여 캐싱을 사용하도록 설정하는 경우 캐시 페이지 출력 공급자를 사용하도록 주석 처리된 섹션을 추가합니다.

  1. 먼저 이전 캐싱 NuGet 패키지를 사용하여 캐시 클라이언트 구성 섹션에 설명된 대로 ASP.NET 공급자에서 사용할 캐시를 구성합니다.

  2. NuGet을 사용하여 캐싱에서 ASP.NET 프로젝트에 Visual Studio 지원을 추가합니다.

    Important중요
    이러한 단계를 수행하려면 최신 NuGet 패키지 관리자(버전 2.6.40627.9000 이상)가 있어야 합니다. 최신 NuGet 패키지 관리자를 설치하려면 NuGet 패키지 관리자를 참조하세요.

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

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

        <!-- Azure Caching output caching provider -->
        <!--Uncomment this section to use Azure Caching for output caching-->
        <!--<caching>
          <outputCache defaultProvider="AFCacheOutputCacheProvider">
            <providers>
              <add name="AFCacheOutputCacheProvider" 
                type="Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache"
                cacheName="default"
                dataCacheClientName="default"
                applicationName="AFCacheOutputCache" />
            </providers>
          </outputCache>
        </caching>-->
    

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

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

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

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

    <dataCacheClient name="default" isCompressionEnabled="true">
    
    사용 가능한 구성 옵션 목록은 Azure 관리 캐시 서비스의 캐시 클라이언트 구성 설정을 참조하세요. 캐싱용 ASP.NET 공급자는 이진 또는 사용자 지정 직렬화 유형을 지원하지 않습니다.

  • 출력 캐시 공급자의 설정을 변경합니다. 사용 가능한 구성 옵션 목록은 Azure 관리 캐시 서비스의 ASP.NET 페이지 출력 캐시 공급자 구성 설정을 참조하세요.

표시: