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

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

Обновлено: Ноябрь 2012 г.

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

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

 

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

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

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

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

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

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

Имя кэша Windows Azure. Следует задать значение “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 для создания ключей кэша, поэтому нет риска несовпадения путей в метабазе.

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

Логическое значение, указывающее на необходимость загрузки и хранения данных состояния сеанса в форме единого сериализованного большого двоичного объекта. В этом выпуске данный атрибут должен иметь значение true, которое также задается по умолчанию. Значение false не поддерживается.

nonInlinedAdditionalLifetime (не поддерживается)

Этот атрибут не поддерживается в этом выпуске.

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

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

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

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

inlinedKeys (не поддерживается)

Этот атрибут не поддерживается в этом выпуске.

maxInlinedStringLength (не поддерживается)

Этот атрибут не поддерживается в этом выпуске.

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

См. также

Добавления сообщества

ДОБАВИТЬ
Показ:
© 2014 Microsoft