Если браузер предъявляет идентификатор сеанса для сеанса, закрытого серве —
ром, то у сервера уже нет в памяти (и на диске) данных сеанса. Поэтому сервер считает такой идентификатор сеанса йеверным. Чтобы избежать лишних затрат ресурсов на генерирование нового идентификатора, сервер использует получен —
ное значение, но создает новый объект session и связывает его с этим иденти —
фикатором. Поэтому ASP-сценарии должны с помощью функции isEmptyO удо — стовериться, что используемые ими переменные сеанса все еще существуют, если эти переменные созданы не сценарием. Например, следующий сценарий прове —
ряет нужные ему переменные сеанса (username и password) и перенаправляет
Глава 11. Активные серверные страницы (ASP) . 59 3
посетителя на страницу регистрации, если хотя бы одна из этих переменных от- сутствует в коллекции переменных сеанса:
If isEmpty(Session(«username»)) Then
Response. Redirect «/hwdtt/Chapter11/TiplOLogin. htm» End If
If isEmpty(Session(«password»)) Then
Response. Redirect «/hwdtt/Chapterll/TiplOLogin. htm» End If
Обратите внимание, что если вы переустанавливаете время тайм-аута, после которого страница станет недоступной, то стоит в каком-нибудь месте страницы известить посетителя об этом. Вряд ли посетителю понравится, что если в сере — дине заполнения длинной формы его отвлечет телефонный звонок, то после окончания разговора все придется начинать заново.