Поделиться через


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

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

Параметры конфигурации состояния сеансов

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

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

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

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

Строка типа поставщика .NET Framework. Следует задать значение “Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache”.

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

Имя кэша AppFabric.

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

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

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

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

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

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

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

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

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

Целочисленное значение, обозначающее количество попыток повтора в случае сбоя при взаимодействии с кэшем. Обратите внимание, что повторять можно не все операции. Значение по умолчанию – три попытки. Между попытками поставщик выжидает в течение указанного времени (retryInterval).

Пример

В следующем примере показан элемент outputCache, использующий Кэш AppFabric.

<caching>
  <outputCache defaultProvider="DistributedCache">
    <providers>
      <add name="DistributedCache"
           type="Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache"
           cacheName="default"
           dataCacheClientName="default" />
    </providers>
  </outputCache>
</caching>

См. также

Основные понятия

Поставщик кэша вывода (кэширование в AppFabric 1.1)

  2012-03-05