Параметры конфигурации поставщика кэша вывода страниц ASP.NET для управляемой службы кэша Azure
Важно!
Корпорация Майкрософт рекомендует все новые разработки использовать кэш Redis для Azure. Текущая документация и рекомендации по выбору предложения кэша Azure см. в статье о том, какое предложение кэша Azure подходит для меня?
В этом разделе рассматриваются параметры конфигурации для поставщика кэша вывода azure управляемая служба кэша для ASP.NET. Эти параметры указываются в разделе providers элемента outputCache в файле web.config.
Параметры конфигурации кэша вывода
attribute | Описание |
---|---|
name (обязательно) |
Понятное имя поставщика, используемого элементом outputCache для ссылки на поставщик. |
тип (обязательно) |
Строка типа .NET Framework для поставщика. См. примечания ниже по выбору требуемого значения. |
cacheName (обязательно) |
Имя кэша Azure. Это должно быть присвоено объекту |
dataCacheClientName (необязательно) |
Имя раздела dataCacheClient , используемого из раздела конфигурации dataCacheClients . Этот атрибут требуется только в том случае, если в файле web.config указаны несколько разделов dataCacheClient . По умолчанию поставщик будет использовать раздел dataCacheClient с именем |
applicationName (необязательно) |
Строковое значение, используемое поставщиком при создании ключей кэша для хранения данных кэша вывода. Значением по умолчанию является пустая строка. Если этот атрибут не задан, поставщик использует значение HttpRuntime.AppDomainAppId как часть ключей кэша, которые он использует внутренне. В отличие от функции состояния сеансов вы не хотите предоставлять общий доступ к данным кэша вывода различным приложениям ASP.NET (например /contoso и /AdventureWorks не могут иметь общий доступ к данным кэша вывода). Вместо этого следует убедиться, что различные физические экземпляры того же приложения имеют доступ к тем же данным кэша вывода. Это можно сделать двумя способами.
|
retryInterval (необязательно) |
Период времени ожидания между повторными попытками в случае возникновения ошибки при связи с кэшем. Для этого значения используется следующий формат строки: |
retryCount (необязательно) |
Целочисленное значение, сообщающее поставщику количество повторных попыток в случае сбоя связи с кэшем. Обратите внимание, что повторно выполнить можно только некоторые операции. По умолчанию задано три повторные попытки. Поставщик переходит в спящий режим для настроенного времени повтора между каждой попыткой повтора. |
Примечание
Атрибут типа должен иметь значение “Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache”
.
Пример
<!-- Non-cache sections omitted for space -->
<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 -->
<!--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>
</system.web>
<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>
<cacheDiagnostics>
<crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" />
</cacheDiagnostics>
</dataCacheClients>
</configuration>
Примечание
Пакет NuGet кэша добавляет раздел cacheDiagnostics
только в клиенты веб-роли ASP.NET. Дополнительные сведения см. в статье о ClientDiagnosticLevel для Azure управляемая служба кэша.