» ASP
для новичков
» Главная
страница
»
ASP
для новичков
Объект
HttpSessionState
Все рассмотренные встроенные
объекты, несомненно, очень полезны, но не являются такой уж редкостью в
технологиях Web-программирования. Прямые аналоги им можно найти практически в
каждой системе разработки Web-приложений (за исключением совсем уж древних и
примитивных). А вот объект session, если и не является нововведением,
появившимся в ASP впервые, тем не менее, представляет одну из наиболее
заманчивых его возможностей.
Объект session (полное имя его
звучит как HttpSessionState) позволяет разработчику отслеживать сеансы работы
отдельных пользователей с сайтом, на котором функционирует приложение ASP.NET.
Простой пример. Предположим, разработчик создал онлайновый магазин. Тогда ему
необходимо будет отслеживать действия каждого пользователя от первого захода на
основную страницу сайта, до завершения покупки. Необходимо отслеживать и
сохранять состояние его корзины заказа, учитывать, что именно он ищет в базе
данных и иным образом индивидуализировать работу сайта. Естественно, можно при
помощи каких-либо технологий, связанных с базами данных, создать подобный
механизм. Но ведь можно все сделать намного проще, если воспользоваться ASP.NET
и его встроенным объектом session. Этот объект сам будет хранить все данные о
сеансе работы каждого пользователя. В нем так же, как и в объекте Application,
можно хранить некие глобальные переменные, но теперь они будут доступны только
тому потоку, который и начал сеанс работы. То есть, при работе с объектом
Session можно не бояться, что удаленные пользователи будут затирать данные друг
друга. Принципам работы с сеансами будет посвящен достаточно обширный раздел
главы, а пока лишь кратко рассмотрим функциональность объекта в виде его свойств
и методов. Начнем со свойств.
- Count. Свойство целочисленного
типа, в котором указывается количество элементов основной коллекции объекта
session.
- isCookieiess. Свойство логического типа. Имеет значение True в том случае,
если данный сеанс идентифицируется без помощи cookie.
- isNewSession. Логическое свойство. Приобретает значение True, если сеанс,
обслуживаемый данным объектом Session, был создан последним запросом
пользователя. Другими словами, искомый экземпляр объекта Session является еще
"свежим", он не принимал участия в обработке каких-либо других страниц, кроме
текущей.
- isReadoniy. Свойство логического типа. Приобретает значение True, если
искомый экземпляр объекта session не может редактироваться, предоставляет доступ
только для чтения. По умолчанию используется значение False.
- item. Свойство, позволяющее получить доступ к конкретному элементу коллекции
элементов объекта session. В качестве параметра передается или порядковый номер
искомого элемента, или его уникальное наименование.
- Keys. Свойство является коллекцией наименований всех переменных основной
коллекции объекта Session.
- lcid. В данном свойстве содержится уникальный числовой идентификатор данного
экземпляра объекта session. Свойство имеет тип integer.
- Mode. В данном свойстве указывается применяемый тип сеанса. Значение
свойства имеет тип sessionstateMode. Это перечислимый тип, который состоит из
четырех ключевых слов.
- inProc. Сеанс работает с применением стандартных средств ASP. Используется
по умолчанию.
- off. Поддержка сеансов отключена.
- SQLServer. Идентификация сеансов производится при помощи средств
SQL-сервера.
- stateserver. Идентификация сеансов производится при помощи штатных методов
операционной системы сервера. Один из самых надежных режимов сохранения
состояния сеанса, так как практически невозможно при сбое одного из процессов
испортить данные остальных сеансов. Однако за подобную надежность приходится
платить некоторым замедлением работы сеанса.
- Sessionio. В свойстве содержится уникальный текстовый идентификатор данного
экземпляра объекта Session.
- Timeout. Свойство позволяет задавать и получать время тайм-аута для данного
сеанса. Свойство имеет целочисленный тип и время, устанавливаемое его значением,
измеряется в минутах.
Теперь перейдем к методам объекта
session.
- Abandon. Метод немедленно
уничтожает искомый экземпляр объекта session и, соответственно, прекращает
сопровождение пользователя.
- Add. Метод добавляет еще один элемент в коллекцию объекта session. В
качестве параметров методу передаются текстовое наименование вновь создаваемого
элемента и его значение.
- clear. Метод принудительно очищает всю коллекцию объекта Session, удаляя из
нее все значения, присваиваемые элементам в процессе работы приложения.
- соруто. Метод копирует содержимое всех элементов коллекции объекта Session в
одномерный массив. В качестве параметров методу передаются сам массив, в который
будет происходить копирование, и целое число, являющееся порядковым номером
элемента массива, с которого и начнется копирование.
- Remove. Метод удаляет определенный элемент из коллекции объекта Session. В
качестве параметра методу передается текстовое наименование удаляемого элемента.
- RemoveAii. Метод принудительно удаляет все элементы коллекции объекта
Session.
- RemoveAt. Метод удаляет элементы коллекции объекта session, начиная с
некоего элемента и до конца. В качестве параметра методу передается порядковый
номер элемента, с которого начнется удаление.
Следующий
урок
|