Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ASP - Session_OnStart

Session_OnStart

Событие Session_OnStart происходит при создании сервером нового сеанса. Сервер обрабатывает этот сценарий до выполнения запрошенной страницы. Событие Session_OnStart является удачным местом для установки переменных сеанса, поскольку они будут установлены до обращения к любой странице. Все встроенные объекты (Application, ObjectContext, Request, Response, Server, и Session) доступны и на них можно сослаться в сценарии для события Session_OnStart.

Синтаксис

<SCRIPT LANGUAGE=ЯзыкСценария RUNAT=Server>
Sub Session_OnStart
. . .
End Sub

 

</SCRIPT>

 

Параметры

ЯзыкСценария

Указывает язык написания сценариев, используемый для написания сценария для события. Это может быть любой поддерживаемый язык написания сценариев, например VBScript или JScript. Если несколько сценариев событий используют один и тот же язык написания сценариев, они могут быть объединены внутри одного набора тегов <SCRIPT>.

Пример

Хотя объект Session сохраняется, если сценария для события Session_OnStart содержит вызов методов Redirect или End, сервер останавливает обработку сценариев и в файле Global.asa, и в файле, переключаемом событием Session_OnStart.

В событии Session_OnStart можно вызвать метод Redirect, например, чтобы гарантировать запуск сеанса пользователя с определенной веб-страницы. когда пользователь входит в приложение, сервер срздвает сеанс и обрабатывает сценария для события Session_OnStart. В это событие можно включить сценарий для проверки страницы, открытой пользователем. И, если пользователь открыл страницу, которая не является начальной, перенаправить его на начальную страницу с помощью вызова метода Response.Redirect. Это показано в приведенном ниже примере.

<SCRIPT RUNAT=Server LANGUAGE=VBScript>

Sub Session_OnStart

  'Make sure that new users start on the correct

  'page of the ASP application.

  'Replace the value given to startPage below

  'with the virtual path to your application's

  'start page.

  startPage = "/MyApp/StartHere.asp"

  currentPage = Request.ServerVariables("SCRIPT_NAME")

  'Do a case-insensitive compare, and if they

  'don't match, send the user to the start page.

  If strcomp(currentPage,startPage,1) then
Response.Redirect(startPage)
End If
End Sub
</SCRIPT>

Приведенный выше пример будет работать только для обозревателей, поддерживающих модули настройки. Поскольку обозреватели без поддержки модулей настройки не возвращают модуль настройки SessionID, сервер создает новый сеанс при каждом запросе страницы пользователем. Таким образом, для каждого запроса сервер обрабатывает сценарий Session_OnStart и перенаправляет пользователя на начальную страницу. Если используется приведенный сценарий, рекомендуется на начальной странице разместить уведомление о том, что узел требует обозревателя, поддерживающего модули настройки.

Примечания

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

<SCRIPT LANGUAGE=VBScript RUNAT=Server>

 Sub Session_OnStart

  'Session initialization script.

  Response.Redirect "http:/server/app/StartHere.asp"

 End sub

</SCRIPT>

В приведенном выше примере метод Redirect скрывает любой текст, отображенный клиенту сценарием инициализации сеанса.

См. также

Session_OnEnd, Application_OnStart

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог