Последние учебники веб-разработки
×

ASP Руководство

ASP ГЛАВНАЯ ASP Введение ASP устанавливать ASP Синтаксис ASP переменные ASP процедуры ASP формы ASP Cookies ASP сессия ASP заявка ASP #включают ASP Global.asa ASP Отправить по электронной почте

VBScript Руководство

VB ГЛАВНАЯ VB переменные VB процедуры VB условный VB перекручивание VB Примеры VB функции VB Ключевые слова

ASP Объекты

ASP отклик ASP Запрос ASP заявка ASP сессия ASP сервер ASP Ошибка ASP Файловая система ASP TextStream ASP Водить машину ASP файл ASP папка ASP Словарь ASP AdRotator ASP BrowserCap ASP Содержание Linking ASP Содержание ротатор ASP Быстрый Ref

ADO Руководство

ADO вступление ADO соединение ADO Recordset ADO дисплей ADO запрос ADO Сортировать ADO Добавить ADO Редактировать ADO Удалить ADO демонстрация ADO Ускорить

ADO Объекты

ADO команда ADO подключение ADO Ошибка ADO поле ADO параметр ADO Имущество ADO запись ADO Recordset ADO Поток ADO Типы данных

ASP and AJAX

AJAX вступление AJAX ASP AJAX База данных

ASP Примеры

ASP Примеры ASP викторина


 

ASP Объект Session


Объект Session хранит информацию о, или изменения настроек для сеанса пользователя.


Объект Session

Когда вы работаете с приложением на вашем компьютере, вы открываете его, сделать некоторые изменения, а затем закрыть его. Это очень похоже на сессии. Компьютер знает, кто ты. Он знает, когда вы открываете приложение и при его закрытии. Тем не менее, в Интернете есть одна проблема: веб-сервер не знает, кто вы и что вы делаете, так как адрес HTTP не поддерживает состояние.

ASP решает эту проблему, создавая уникальные кук для каждого пользователя. Печенье отправляется на компьютер пользователя и содержит информацию, которая идентифицирует пользователя. Этот интерфейс называется объект Session.

Объект Session хранит информацию о, или изменения настроек для сеанса пользователя.

Переменные, хранящиеся в сессии объекта хранения информации об одном пользователе, и доступны для всех страниц в одном приложении. Общая информация, хранящаяся в сессионных переменных имя, идентификатор и предпочтения. Сервер создает новый объект Session для каждого нового пользователя, и уничтожает объект Session, когда истекает сессия.


Когда делает Start Session?

Сеанс начинается, когда:

  • Новый пользователь запрашивает файл ASP, а файл Global.asa включает процедуру Session_OnStart
  • Значение хранится в переменной Session
  • Пользователь запрашивает файл ASP, а файл Global.asa использует <object> тег для создания экземпляра объекта с областью сеанса

Когда сеанс End?

Сессия заканчивается, если пользователь не запросил или обновлять страницу в заявке на определенный период времени. По умолчанию это 20 минут.

Если вы хотите установить интервал времени ожидания , который короче или длиннее , чем по умолчанию, используйте Timeout свойство.

Приведенный ниже пример задает интервал времени ожидания 5 минут:

<%
Session.Timeout=5
%>

Используйте Abandon метод немедленно завершить сеанс:

<%
Session.Abandon
%>

Note: Основная проблема с сессиями, когда они должны закончить. Мы не знаем, если последний запрос пользователя был последний один или нет. Таким образом , мы не знаем , как долго мы должны держать сессию "alive" . Ожидание слишком долго простоя сеанса использует ресурсы на сервере, но если сессия будет удалена слишком рано, пользователь должен начать все сначала, потому что сервер удалила всю информацию. Поиск подходящего интервала ожидания может быть трудно!

Tip: только хранить небольшое количество данных в переменных сеанса!


Хранить и получать переменные сеанса

Самое главное об объекте Session является то, что вы можете хранить переменные в нем.

В приведенном ниже пример будет установить переменную Session username для "Donald Duck" и Session переменного age до "50" :

<%
Session("username")="Donald Duck"
Session("age")=50
%>

Когда значение сохраняется в переменной сеанса может быть достигнуто с любой страницы в приложении ASP:

Welcome <%Response.Write(Session("username"))%>

Линия выше возвращений: "Welcome Donald Duck" .

Можно также сохранять пользовательские настройки в объекте Session, а затем получить доступ к этому предпочтению выбрать, какую страницу, чтобы вернуться к пользователю.

В приведенном ниже пример задает текстовую версию страницы, если пользователь имеет низкое разрешение экрана:

<%If Session("screenres")="low" Then%>
  This is the text version of the page
<%Else%>
  This is the multimedia version of the page
<%End If%>

Удаление переменных сеанса

Коллекция Содержание содержит все переменные сессии.

Можно удалить переменную сеанса с помощью метода Remove.

В приведенном ниже примере удаляет переменную сеанса "sale" , если значение переменной сеанса "age" ниже , чем 18:

<%
If Session.Contents("age")<18 then
  Session.Contents.Remove("sale")
End If
%>

Для того, чтобы удалить все переменные в сеансе, используйте метод RemoveAll:

<%
Session.Contents.RemoveAll()
%>

Проходной коллекции Содержание

Коллекция Содержание содержит все переменные сессии. Вы можете перебрать коллекции Contents, чтобы увидеть, что в нем хранятся

<%
Session("username")="Donald Duck"
Session("age")=50

dim i
For Each i in Session.Contents
  Response.Write(i & "<br>")
Next
%>

Результат:

username
age

Если вы не знаете, количество элементов в коллекции Contents, вы можете использовать свойство Count:

<%
dim i
dim j
j=Session.Contents.Count
Response.Write("Session variables: " & j)
For i=1 to j
  Response.Write(Session.Contents(i) & "<br>")
Next
%>

Результат:

Session variables: 2
Donald Duck
50

Проходной коллекции StaticObjects

Вы можете перебрать коллекцию StaticObjects, чтобы увидеть значение всех объектов, хранящихся в объекте Session:

<%
dim i
For Each i in Session.StaticObjects
  Response.Write(i & "<br>")
Next
%>