Продажи: 1-800-867-1389

Инструкции Настройка клиента кэша для управляемой службы кэша Azure

Обновлено: Февраль 2015 г.

noteПримечание
Руководство по выбору правильного предложения службы кэша Azure см. в разделе Какой кэш Azure подходит мне лучше всего?.

Управляемая служба кэша упрощает настройку клиентов кэша, предоставляя пакет NuGet для добавления необходимых ссылок на сборки и конфигурации. Пакет кэша NuGet также предоставляет закомментированные разделы в web.config для веб-проектов для включения поставщиков состояния сеанса кэша и кэша вывода. Данная тема предоставляет пошаговое руководство по настройке клиентов кэша с использованием пакета кэша NuGet.

Настраивать клиентские приложения Управляемая служба кэша довольно просто. Управляемая служба кэша предоставляет пакет NuGet для добавления необходимой конфигурации и ссылок на сборки, чтобы обеспечить клиентам кэша доступ к кэшу.

noteПримечание
Управляемая служба кэша поддерживает веб-сайты Azure, облачные службы и клиентские приложения виртуальных машин. Настройка разных типов приложений очень похожа. Предлагаемый пакет кэша NuGet устраняет большинство данных различий автоматически, указанные различия описаны в различных пунктах данной темы. Список различий смотрите в Cache Service Client Application Types.

Если вы создаете приложение облачной службы, загрузите последнюю версию Azure SDK — 2.1. Если вы создаете Веб-сайты или приложения клиента Виртуальной машины, то Пакет кэша NuGet устанавливает все, что вам нужно, для начала работы.

ImportantВажно!
Для выполнения этих действий требуется последняя версия диспетчера пакетов NuGet (2.6.40627.9000 или более поздняя версия). Чтобы установить последнюю версию диспетчера пакетов NuGet, см. статью NuGet Package Manager (Диспетчер пакетов NuGet).

Чтобы использовать пакет NuGet для Управляемая служба кэша, щелкните правой кнопкой мыши проект клиента в обозревателе решений и выберите пункт Управление пакетами NuGet.

Выберите пункт Azure Caching, нажмите кнопку Установить и кнопку Принимаю. После установки пакета в проект клиента нажмите кнопку Закрыть, чтобы закрыть окно Управление пакетами NuGet.

noteПримечание
Если пункт Azure Caching отсутствует в списке, введите WindowsAzure.Caching в текстовом поле Поиск в сети.

Пакет NuGet кэша Windows Azure

При установке пакета NuGet для Управляемая служба кэша в проект клиента добавляется конфигурация и ссылки на сборки, которые необходимы, чтобы клиентское приложение имело доступ к кэшу.

В файл web.config или app.config проекта клиента добавляется несколько элементов.

  1. В configSections добавляются разделы dataCacheClients и cacheDiagnostics.

    <!-- Non-cache sections omitted for space -->
      <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>
    
  2. Раздел dataCacheClients добавляется в configuration.

    <!-- Non-cache sections omitted for space -->
      <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>
      </dataCacheClients>
    
    Замените [Cache role name or Service Endpoint] URL-адресом конечной точки, отображенным в окне "Cache Dashboard" (Панель мониторинга кэша) на портале управления.

    URL-адрес конечной точки для службы кэша Windows Azure
    В этом примере используется кэш applicationcache и URL-адрес конечной точки applicationcache.cache.windows.net.

    <autoDiscover isEnabled="true" identifier="applicationcache.cache.windows.net" />
    
    Удалите комментирование раздела securityProperties и замените [Authentication Key] ключом проверки подлинности.

    <!--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>-->
    
    
    Ключ проверки подлинности можно найти на портале управления. Для этого необходимо щелкнуть Ключи доступа на панели мониторинга кэша.

    Управление ключами доступа для службы кэша Windows Azure
    WarningПредупреждение
    Эти параметры следует настроить правильно, иначе клиенты не будут иметь доступа к кэшу.

Для проектов облачных служб пакет NuGet для Управляемая служба кэша также добавляет параметр ClientDiagnosticLevel в раздел ConfigurationSettings роли клиента кэша, расположенный в ServiceConfiguration.cscfg. В следующем примере приведен раздел WebRole1 из файла ServiceConfiguration.cscfg со значением ClientDiagnosticLevel, равным «1», которое является значением ClientDiagnosticLevel по умолчанию.

<Role name="WebRole1">
  <Instances count="1" />
  <ConfigurationSettings>
    <!-- Other settings omitted for space... -->
    <Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="1" />
  </ConfigurationSettings>
</Role>
noteПримечание
Дополнительные сведения уровнях диагностики кэша см. в разделе Об уровне ClientDiagnosticLevel для управляемой службы кэша Azure.

Помимо добавления параметров конфигурации, пакет NuGet для Управляемая служба кэша также добавляет ссылки на следующие сборки.

  • Microsoft.ApplicationServer.Caching.Client.dll

  • Microsoft.ApplicationServer.Caching.Core.dll

  • Microsoft.ApplicationServer.Caching.AzureCommon.dll

  • Microsoft.ApplicationServer.Caching.AzureClientHelper.dll

  • Microsoft.WindowsFabric.Common.dll

  • Microsoft.WindowsFabric.Data.Common.dll

Если проект — это веб-проект, также добавляется следующая ссылка на сборку.

  • Microsoft.Web.DistributedCache.dll

Поставщик состояния сеанса Кэш Microsoft Azure представляет собой механизм хранения вне процесса для приложений ASP.NET. Он позволяет хранить состояния сеансов в кэше, а не в памяти или базе данных SQL Server. Когда вы используете пакет кэширования NuGet для включения кэширования, он добавляет закомментированный раздел для включения поставщика состояния сеансов кэша.

  1. Сначала настройте кэш для использования с поставщиком ASP.NET, как описано в предыдущем разделе Настройка клиента кэша с помощью пакета NuGet для Caching.

  2. Удалите существующие элементы sessionState, настраивающие кэширование состояния сеанса. Не удаляйте закомментированный раздел sessionState, который был добавлен с помощью пакета NuGet.

  3. В файле web.config раскомментируйте раздел sessionState.

    <!-- 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>-->
    
    

В следующем списке приведены изменения конфигурации, влияющие на работу поставщика состояний сеансов.

  • Измените целевой именованный кэш с помощью атрибута cacheName элемента add.

  • Измените источник параметров клиента кэша с помощью атрибута dataCacheClientName элемента add. Задайте этот атрибут для имени существующего раздела dataCacheClient в файле web.config.

  • Измените поведение клиента кэша путем изменения параметров в связанном разделе dataCacheClient. Например, включите сжатие с помощью атрибута isCompressionEnabled.

    <dataCacheClient name="default" isCompressionEnabled="true">
      <!-- Other cache settings omitted -->
    </dataCacheClient>
    
    Список доступных параметров конфигурации см. в разделе Параметры конфигурации клиента кэша для управляемой службы кэша Azure. Обратите внимание, что поставщики ASP.NET для кэширование не поддерживают типы настраиваемой или двоичной сериализации. Если эти сериализаторы используются для состояния сеансов, возникает следующее исключение. "Тип "Microsoft.Web.DistributedCache.SerializableSessionStateStoreData" в сборке "Microsoft.Web.DistributedCache, Version=101.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" не помечен как доступный для сериализации.

  • Измените параметры поставщика состояний сеансов. Список доступных параметров конфигурации см. в разделе Параметры конфигурации поставщика состояния сеансов ASP.NET для управляемой службы кэша Azure.

Поставщик кэша вывода Кэш Microsoft Azure представляет собой механизм хранения вне процесса для данных кэша вывода. Эти данные специально предназначены для полных откликов HTTP (кэширование вывода страницы). Поставщик подключается к новой точке расширения поставщика кэша вывода, которая появилась в ASP.NET 4. При использовании пакета кэширования NuGet для включения кэширования он добавляет закомментированный раздел, чтобы включить поставщик вывода страниц кэша.

  1. Сначала настройте кэш для использования с поставщиком ASP.NET, как описано в предыдущем разделе Настройка клиента кэша с помощью пакета NuGet для Caching.

  2. С помощью пакета NuGet добавьте поддержку кэширование в проект ASP.NET в Visual Studio. Инструкции см. в разделе Prepare Visual Studio for Azure Cache Service Client Application Development.

    ImportantВажно!
    Для выполнения этих действий требуется последняя версия диспетчера пакетов NuGet (2.6.40627.9000 или более поздняя версия). Чтобы установить последнюю версию диспетчера пакетов NuGet, см. статью NuGet Package Manager (Диспетчер пакетов NuGet).

  3. Удалите существующие элементы caching, настраивающие кэширование вывода. Не удаляйте закомментированный раздел caching, который был добавлен с помощью пакета NuGet.

  4. В файле web.config раскомментируйте раздел caching.

        <!-- 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>-->
    

В следующем списке приводятся дополнительные изменения конфигурации, оказывающие влияние на поставщика кэша вывода.

  • Измените целевой именованный кэш с помощью атрибута cacheName элемента add.

  • Измените источник параметров клиента кэша с помощью атрибута dataCacheClientName элемента add. Задайте этот атрибут для имени существующего раздела dataCacheClient в файле web.config.

  • Измените поведение клиента кэша путем изменения параметров в связанном разделе dataCacheClient. Например, включите сжатие с помощью атрибута isCompressionEnabled.

    <dataCacheClient name="default" isCompressionEnabled="true">
    
    Список доступных параметров конфигурации см. в разделе Параметры конфигурации клиента кэша для управляемой службы кэша Azure. Обратите внимание, что поставщики ASP.NET для кэширование не поддерживают типы настраиваемой или двоичной сериализации.

  • Измените параметры поставщика кэша вывода. Список доступных параметров конфигурации см. в разделе Параметры конфигурации поставщика кэша вывода страниц ASP.NET для управляемой службы кэша Azure.

Была ли вам полезна эта информация?
(1500 символов осталось)
Спасибо за ваш отзыв
Показ:
© 2015 Microsoft