Поделиться через


Поставщик состояний сеансов (кэширование в AppFabric 1.1)

Поставщик состояний сеансов Microsoft AppFabric 1.1 для Windows Server – это внепроцессный механизм хранения для приложений ASP.NET. Он позволяет хранить состояния сеансов в кэше AppFabric, а не в памяти или базе данных SQL Server.

Возможности

Поставщик состояний сеансов AppFabric имеет следующие преимущества над предыдущими поставщиками состояний сеансов ASP.NET:

  • Внутри он использует класс NetDataContractSerializer для сериализации состояния сеансов.

  • Он может хранить состояния сеансов в виде единого большого двоичного объекта или по отдельности.

  • Он может публиковать состояния сеансов для разных приложений ASP.NET.

  • Он поддерживает одновременный доступ к одному набору состояний сеансов от нескольких читателей и одного писателя.

  • Может использоваться сжатие.

Использование класса NetDataContractSerializer для сериализации позволяет поддерживать более широкий набор сериализуемых типов. Сюда также относятся двоичные сериализуемые типы.

Поставщик состояний сеансов может хранить и извлекать состояние сеансов в виде единого большого двоичного объекта – этот метод использовали более ранние поставщики. При этом он также может хранить состояния сеансов в виде раздельных пар "ключ-значение". В этом режиме элементы извлекаются из кэша при запросе. Это позволяет повысить производительность в случае работы с сочетанием мелких и крупных объектов в состоянии сеанса. Страницы, для которых нужны только мелкие объекты, не будут нуждаться в десериализации более крупных.

Примечание

Возможность хранения отдельных пар "ключ-значение" в состоянии сеанса поддерживается в Microsoft AppFabric 1.1 для Windows Server только локально. В облачной платформе Кэш Windows Azure имеется аналогичный поставщик состояний сеансов, который пока не поддерживает данную функцию.

Поставщик поддерживает возможность одновременного считывания и записи одних и тех же данных о состоянии сеансов несколькими приложениями ASP.NET. Предположим, разработчик поддерживает два сайта ASP.NET: /contoso и /adventureworks. Поставщики состояний сеансов можно настроить в обоих веб-приложениях так, чтобы они указывали на одно и то же хранилище состояний сеансов в кластере кэша. В результате оба приложения смогут считывать и записывать одни и те же данные о состоянии сеанса по одному идентификатору.

Поставщик состояний сеансов поддерживает одновременный доступ к одному набору состояний сеансов от нескольких читателей и одного писателя. Читатели в этом смысле – страницы, помеченные как использующие состояние сеанса "только для чтения". Приложения, активно использующие обратные вызовы AJAX, не будут сталкиваться с очередями запросов на сервере, если большая часть шаблонов обращения к состояниям сеансов требует только чтения.

Сжатие – это функция Кэш Microsoft AppFabric 1.1 для Windows Server. В файле конфигурации вы можете включить сжатие в элементе dataCacheClient с помощью атрибута isCompressionEnabled. В следующем примере показан клиент dataCacheClient с названием default, для которого сжатие включено.

    <dataCacheClient name="default" isCompressionEnabled="true">
      <hosts>
        <host name="CacheServer1" cachePort="22233" />
        <host name="CacheServer2" cachePort="22233" />
      </hosts>
    </dataCacheClient>

Важно!

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

Содержание

См. также

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

Использование поставщиков кэширования ASP.NET 4 для AppFabric 1.1

  2012-03-05