Лістинг 4.2. Файл GLOBAL.ASA.

<SCRIPT LANGUAGE="VBSCRIPT" RUNAT="Server">

' У цей файл можна додати обробники подій ASP.

' Для створення обробників внесіть до файлу підпрограму з ім'ям

' відповідним події, на яку Ви б хотіли зреагувати.

'Назва події Опис

'SessionOnStart Відбувається, коли користувач вперше вы-

' полняет будь-яку сторінку Вашого застосування

SessionOnEnd Відбувається, коли перевищений ліміт часу

' протягом якого користувач не звертається

' до сторінок Вашого застосування, або якщо мав

' місце явний вихід

'Application_OnStart Відбувається один раз, коли будь-який

' користувач вперше виконує першу сторінку

' Вашого застосування

'Application_OnEnd Відбувається один раз при зупинці Web-сервера

Sub SessionOnStart

End Sub

Sub Session_OnEnd

End Sub

Sub ApplicationOnStart

End Sub

Sub Application On_End

End Sub

</SCRIPT>

Для позначення розділів сценарію GLOBAL.ASA містить теги <SCRIPT>. Ці теги мають особливий атрибут RUNAT=Server, який означає, що що міститься в теге код на VBScript повинен виконуватися на сервері, а не на клієнтові. Функціонально RUNAT=Server означає те ж, що і поєднання кутових дужок і знаку відсотка, використовувані для обозна­чения серверного сценарію на Web-сторінках. Обробка стандартних подій на сервері записується в GLOBAL.ASA у стандартному синтаксисі. Наприклад, обробку запуску при­ложения виконує наступний фрагмент коду:

<SCRIPT LANGUAGE=VBScript RUNAT=Server>

Sub Application_OnStart

' Конкретний код застосування

End Sub </SCRIPT>

Хоча GLOBAL.ASA відзначає початок і завершення застосування за допомогою подій, оста­ется неясним, що ж все-таки складає власне застосування. Один з робітників форму­лировок, запропонована Microsoft, визначає інтернет-застосування як віртуальний ката­лог зі всіма його файлами. Якщо користувач запрошує Web-сторінку з віртуального каталога під назвою Bookstore, то тим самим він запускає застосування Bookstore, і в GLOBAL.ASA збуджуються події Application_OnStart і Session_OnStart.

Згідно цьому визначенню із застосуванням одночасно можуть працювати декілька про­грамм перегляду. Але подія Application_OnStart відбувається лише один раз: коли перший користувач запрошує Web-сторінку з віртуального каталога. Коли потім сторінки з цього ката­лога запрошують інші користувачі, збуджується лише подія Session_OnStart.

Тоді як застосування може відноситися до декількох програм перегляду, обра­щающимся до однієї і тієї ж безлічі Web-сторінок, сесія стосується якоїсь однієї програми перегляду, що звертається до тих же Web-сторінкам. Для конкретної програми перегляду сесія триває, поки програма продовжує запрошувати сторінки віртуального каталога. Якщо ж користувач не запрошує Web-сторінки (з даного віртуального каталога) впродовж 20 хвилин (за замовчуванням), сесія завершується, і збуджується подія Session_OnEnd. Коли в даному віртуальному каталозі завершуються всі сесії, збуджується подія Application_OnEnd.

Як приклад розглянемо наступний сценарій. Два користувачі мають намір посе­тить на Web-узле застосування Magazine. Користувач 1 виявляється проворнее і быст­ренько запрошує Web-сторінку DEFAULT.ASP. Тут же збуджуються події Application_OnStart і Session_OnStart. Буквально п'ятьма хвилинами пізніше до застосування звертається користувач 2. Оскільки користувач 1 якось проявляв себе протягом останніх 20 хвилин, застосування Magazine активно. Отже, збуджується лише подія Session_OnStart, сигналізуючи про початок нової сесії. Крім того, тепер для завершення застосування необхідно, аби завершилися обоє сесії.

Протягом наступних 15 хвилин користувач 1 не запрошує ни­каких сторінок приложе­ния Magazine. Оскільки він не проявляв активності впродовж 20 хвилин, ASP приходить до висновку, що користувач 1 закінчив свою роботу із застосуванням, і збуджує подію Session_OnEnd. Але застосування все ще активно, оскільки протягом останніх 20 хвилин до нього звертався користувач 2.

Користувач 2 працює із застосуванням ще годину, раз у раз запрошуючи нові Web-сторінки. Але врешті-решт він відключається, а через 20 хвилин після того, як він покинув вузол (точніше, востаннє запитав Web-сторінку застосування), збуджується подія Session_OnEnd. Оскільки користувач 2 був останнім користувачем даного застосування, воно завершується, і збуджується подія Application_OnEnd.

Об'єкти.

У ASP є декілька вбудованих об'єктів, які доступні розробникові. Ці об'єкти допомагають управляти багатьма речами: від змінних, до передачі форм. Працювати з ними легко, вони викликаються з коду безпосередньо без якогось особливого синтаксису.

Об'єкт Application.Об'єкт Application (застосування) дозволяє створювати змінні застосування (application variables) - змінні, доступні всім користувачам даного застосування. Всі, хто звертається до Web-сторінкам даного віртуального каталога, можуть спільно використовувати будь-яку змінну застосування визначену для цього каталога.

У лістингу 4.3 наведений приклад програми, яка використовує Об'єкт Application. У нім змінна застосування служить для відстежування часу останнього звернення до сторінок застосування.








Дата добавления: 2016-04-02; просмотров: 548;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.