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

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

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

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

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

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

Если вы создаете приложение облачных служб, загрузите последнюю версию пакета SDK для Azure (сейчас это пакет SDK 2.1). Если вы создаете клиентские приложения для Веб-сайтов или Виртуальных машин Azure, то пакет 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 для Caching, он добавляет закомментированный раздел для поддержки поставщика состояний сеансов кэша.

  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 для Caching, он добавляет закомментированный раздел для поддержки поставщика кэша вывода страниц.

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

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

Показ:
© 2014 Microsoft