Практическое руководство. Подготовка Visual Studio к использованию кэша In-Role Azure

Важно!

Корпорация Майкрософт рекомендует все новые разработки использовать кэш Redis для Azure. Текущая документация и рекомендации по выбору предложения кэша Azure см. в статье о том, какое предложение кэша Azure подходит для меня?

В этом разделе объясняется, как подготовить проект Visual Studio для использования кэша Microsoft Azure. Сюда входят следующие задачи.

  • Проверка правильности выбора целевой версии .NET Framework.

  • Ссылка на сборки кэширования.

После выполнения этих задач можно настроить клиент кэша в разделе dataCacheClient приложения или web.config файлов. Это позволяет использовать методы кэширования в пространстве имен Microsoft.ApplicationServer.Caching .

Предупреждение

Не следует устанавливать Microsoft AppFabric 1.1 для Windows Server и кэш Microsoft Azure на том же компьютере. Это затрагивает как сам продукт, так и пакет SDK. Можно ошибочно ссылаться на некоторые сборки Microsoft AppFabric 1.1 для Windows Server в глобальном кэше сборок. Это может привести к неправильному или непредсказуемому поведению.

Чтобы определить правильную версию .NET Framework, выполните следующие действия:

  1. Откройте проект в Visual Studio.

  2. В обозревателе решений щелкните правой кнопкой мыши имя проекта и выберите пункт Свойства.

  3. В проекте Visual C# выполните следующие действия.

    1. Выберите вкладку Приложение в диалоговом окне Свойства проекта.

    2. Убедитесь, что целевой версией платформы является .NET Framework 2.0 или выше (нельзя использовать клиентский профиль).

  4. В проекте Visual Basic выполните следующие действия.

    1. Выберите вкладку Компиляция в диалоговом окне Свойства проекта.

    2. В нижней части страницы Компиляция нажмите кнопку Дополнительные параметры компиляции.

    3. Убедитесь, что целевой версией платформы является .NET Framework 2.0 или выше (нельзя использовать клиентский профиль).

Важно!

Не используйте профиль клиента для целевой версии платформы. В Visual Studio выберите платформа .NET Framework версии, которые не указывают "Профиль клиента".

Настройка проекта для кэширования в ролях

Чтобы добавить ссылки на сборки, на компьютере должен быть установлен пакет AZURE SDK. Инструкции см. в статье "Скачивание пакета SDK Azure".

Далее используется пакет NuGet, добавляющий нужные ссылки на сборки и изменения в конфигурации. Эти действия относятся к использованию кэша In-Role, размещенного в роли Azure в том же развертывании.

  1. В обозревателе решений щелкните правой кнопкой мыши имя проекта и выберите пункт Добавить ссылку на пакет библиотеки (NuGet 1.2) или Управление пакетами NuGet (NuGet 2.0 или выше).

  2. В левой области выберите категорию В сети.

  3. Найдите WindowsAzure.Caching.

  4. Установите пакет кэша In-Role с именем Microsoft.WindowsAzure.Caching (NuGet 1.2) или кэширование Azure (NuGet 2.0 или более поздней версии).

    Screenshot of Caching Preview Package (NuGet 1.2)

    Screenshot of Caching Preview Package (NuGet 2.0)

Помимо добавления нужных ссылок на сборки, этот пакет также изменяет файл конфигурации (app.config или web.config) для целевого проекта. Он добавляет стандартный раздел dataCacheClient , аналогичный следующему.

<dataCacheClients>
  <dataCacheClient name="default">
    <autoDiscover isEnabled="true" identifier="[cache cluster role name]" />
    <!--<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />-->
  </dataCacheClient>
</dataCacheClients>

Последним шагом является изменение атрибута идентификатора с "[cache cluster role name]" фактического имени роли, включающей In-Role кэш. В совмещенной топологии это может быть та же роль, например "WebRole1". В выделенной топологии это может быть другая роль, например "CacheWorkerRole1". Примеры обеих топологий см. в примерах кэша In-Role Azure.

Примечание

Удаление пакета NuGet не удаляет раздел dataCacheClients, если этот раздел настроен. Его необходимо будет удалить вручную.

Пакет NuGet добавляет ссылки на следующие сборки:

  • Microsoft.ApplicationServer.Caching.AzureClientHelper

  • Microsoft.ApplicationServer.Caching.AzureCommon

  • Microsoft.ApplicationServer.Caching.Client

  • Microsoft.ApplicationServer.Caching.Core

  • Microsoft.Web.DistributedCache

  • Microsoft.WindowsFabric.Common

  • Microsoft.WindowsFabric.Data.Common

Примечание

Можно вручную ссылаться на эти сборки без пакета NuGet. По умолчанию они устанавливаются в каталог C:\Program Files\Microsoft SDKs\Azure\.NET SDK&lt;current version>\ref\Caching.

См. также:

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

Разработка для кэша роли Azure
Поставщики кэша ASP.NET 4 для кэша роли Azure