이 페이지가 유용했습니까?
이 콘텐츠에 대한 여러분의 의견은 중요합니다. 의견을 알려주십시오.
추가 의견
1500자 남음
ASP.NET 출력 캐시 공급자 구성 설정
Collapse the table of content
Expand the table of content

Azure 역할 내 캐시의 ASP.NET 출력 캐시 공급자 구성 설정

업데이트 날짜: 2015년 5월

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

이 항목에서는 ASP.NET의 Azure 출력 캐시 공급자에 대한 구성 설정에 대해 설명합니다. 이러한 설정은 web.config 파일에 포함된 outputCache 요소의 providers 섹션에 지정되어 있습니다.

 

특성 설명

name(필수)

outputCache 요소에서 공급자를 참조하는 데 사용되는 공급자의 이름입니다.

type(필수)

공급자에 대한 .NET Framework 형식 문자열입니다. 필수 값은 아래의 참고 사항을 참조하세요.

cacheName(필수)

Azure 캐시의 이름입니다. “default”로 설정해야 합니다.

dataCacheClientName(선택)

dataCacheClients 구성 섹션에서 사용할 dataCacheClient 섹션의 이름입니다. 이 특성은 web.config 파일에 여러 dataCacheClient 섹션이 지정된 경우에만 필요합니다. 기본적으로 공급자는 “default”라는 dataCacheClient 섹션을 사용합니다.

applicationName(선택)

출력 캐시 데이터를 저장할 캐시 키를 만들 때 공급자가 사용하는 문자열 값입니다. 기본값은 빈 문자열입니다. 이 특성이 설정되지 않은 경우 공급자는 HttpRuntime.AppDomainAppId 값을 내부적으로 사용하는 캐시 키의 일부로 사용합니다. 세션 상태 기능과 달리 여러 ASP.NET 응용 프로그램에서 출력 캐시 데이터를 공유할 수 없습니다(예: /contoso와 /AdventureWorks에서 출력 캐시 데이터를 공유할 수 없음). 대신 같은 응용 프로그램의 여러 실제 인스턴스에서 모두 동일한 출력 캐시 데이터에 액세스할 수 있어야 합니다. 이 작업을 수행하는 방법에는 두 가지가 있습니다.

  • applicationName 공급자 특성이 명시적으로 설정되지 않은 경우 캐시 키를 생성할 때 공급자가 HttpRuntime.AppDomainAppId를 내부적으로 사용합니다. 즉, 정확히 같은 메타베이스 경로를 사용하여 같은 응용 프로그램의 각 실제 인스턴스(즉, /contoso 응용 프로그램을 호스팅하는 각 웹 서버)를 IIS에 설치해야 합니다. SQL Server 및 Out-of-process 세션 상태 공급자에서 메타베이스 경로를 사용하는 방법에 대한 자세한 내용은 http://support.microsoft.com/kb/325056을 참조하세요. 세션 상태는 다른 기능이지만 메타베이스 경로를 동기화된 상태로 유지할 때는 같은 문제가 발생합니다. 이는 web.config 파일에 applicationName 특성이 설정되지 않은 경우 출력 캐싱에 적용됩니다.

  • 보다 쉬운 접근 방식은 같은 ASP.NET 응용 프로그램의 각 인스턴스(예: /contoso 응용 프로그램을 호스팅하는 각 웹 서버)에서 web.config 파일의 동일한 applicationName 특성을 사용하는 것입니다. 이렇게 하면 같은 응용 프로그램의 서로 다른 실제 인스턴스에서 동일한 출력 캐시 데이터를 읽고 쓸 수 있습니다. 이 경우 공급자는 캐시 키를 생성할 때 AppDomainAppId를 사용하지 않으므로 메타베이스 경로가 일치하지 않을 위험이 없습니다.

retryInterval(선택)

캐시와 통신할 때 오류가 발생한 경우 다시 시도 간에 대기할 시간 길이에 대한 TimeSpan입니다. 이 값에 사용할 문자열 형식은 "HH:MM:SS"입니다. 기본적으로 공급자는 1초 동안 대기합니다.

retryCount(선택)

캐시와의 통신 실패 시 공급자에 다시 시도 횟수를 알려 주는 정수 값입니다. 일부 작업은 다시 시도할 수 없습니다. 다시 시도 횟수 기본값은 3회입니다. 공급자는 각 다시 시도 간에 구성된 retryInterval 시간 동안 대기합니다.

note참고
type 특성은 “Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache”로 설정해야 합니다.

<configuration>
  <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>
  <system.web>
    <!-- Azure Caching output caching provider -->
    <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>
  </system.web>
  <dataCacheClients>
    <dataCacheClient name="default">
      <autoDiscover isEnabled="true" identifier="CacheWorkerRole1" />
    </dataCacheClient>
  </dataCacheClients>
  <cacheDiagnostics>
    <crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" />
  </cacheDiagnostics>
</configuration>

참고 항목

표시:
© 2015 Microsoft