Поставщик состояний сеансов (кэширование в 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