Экспорт (0) Печать
Развернуть все

Параметры конфигурации поставщика кэша вывода ASP.NET (кэш Azure)

Обновлено: Июль 2010 г.

В этом разделе описаны параметры конфигурации поставщика кэша вывода для ASP.NET. Эти параметры указываются в разделе providers элемента outputCache в файле web.config.

 

Атрибут Описание

name (обязательный)

Понятное имя поставщика, используемое в элементе outputCache для ссылки на поставщик.

type (обязательный)

Строка типа поставщика .NET Framework. См. ниже замечание по поводу обязательного значения.

cacheName (обязательный)

Имя кэша . Следует задать значение “default”.

dataCacheClientName (необязательный)

Имя раздела dataCacheClient для использования в разделе настройки dataCacheClients. Этот атрибут необходим только в случае, если в файле web.config задается несколько разделов dataCacheClient. По умолчанию поставщик будет использовать раздел dataCacheClient с именем “default”.

applicationName (необязательный)

Строка, используемая поставщиком при создании ключей кэша для хранения данных кэша вывода. По умолчанию значение равно пустой строке. Если этот атрибут не задан, поставщик использует значение HttpRuntime.AppDomainAppId в составе ключей кэша, который он использует во внутреннем обращении. В отличие от состояний сеансов, не следует публиковать данные кэша вывода для разных приложений ASP.NET (например, приложения /contoso и /AdventureWorks не будут использовать совместно данные кэша вывода). Вместо этого следует сделать так, чтобы разные физические экземпляры одного приложения имели доступ к этим данным. Это можно сделать двумя способами:

  • Если атрибут поставщика applicationName не задан явно, то при создании ключей кэша поставщик использует во внутреннем обращении атрибут HttpRuntime.AppDomainAppId. Это значит, что все физические экземпляры одного приложения (например, каждый веб-сервер, где размещено приложение /contoso) должны быть установлены в IIS по одному пути в метабазе. Описание того, как пути в метабазе используются в SQL Server и во внепроцессных поставщиках состояний сеансов, см. в разделе http://support.microsoft.com/kb/325056. Хотя состояния сеансов – это отдельная функция, там также действует аналогичное требование. Это относится к кэшированию вывода, если атрибут applicationNameв файле web.config не задан.

  • Более простой подход заключается в использовании одного атрибута applicationName в файле web.config для всех экземпляров одного приложения ASP.NET (например, на каждом веб-сервере, где размещено приложение /contoso). Это позволяет сделать так, чтобы разные физические экземпляры одного приложения имели доступ на чтение и запись к этим данным. В данном случае поставщик не использует AppDomainAppId для создания ключей кэша, поэтому нет риска несовпадения путей в метабазе.

retryInterval (необязательный)

Временной промежуток между попытками повтора при возникновении ошибки при взаимодействии с кэшем. Формат строки здесь – "HH:MM:SS". По умолчанию поставщик будет ждать одну секунду.

retryCount (необязательный)

Целочисленное значение, обозначающее количество попыток повтора в случае сбоя при взаимодействии с кэшем. Обратите внимание, что повторять можно не все операции. Значение по умолчанию – три попытки. Между попытками поставщик выжидает в течение указанного времени (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>

См. также

Корпорация Майкрософт проводит интернет-опрос, чтобы выяснить ваше мнение о веб-сайте MSDN. Если вы желаете принять участие в этом интернет-опросе, он будет отображен при закрытии веб-сайта MSDN.

Вы хотите принять участие?
Показ:
© 2014 Microsoft