ASP – Де цей звір водиться? (Документація

ASP – Дітище Microsoft "a і, цілком природно, що і його підтримка здійснюється Microsoft" івським ж інтернет-серверами. У першу чергу Internet Information Server, Правда, починаючи з 3-ї версії. Так що якщо ви працюєте під IIS 3.0, то можете сміливо використовувати у своїх проектах ASP-технологію, сервер зрозуміє. Але далеко не у всіх стоїть Windows NT Server. Але і це не біда.

Технологію ASP підтримують також і Windows NT Workstation при встановленому Peer Web Services (Однорангові веб-сервіси), а також і Windows 95/98 при встановленому Personal Web Server”e. Можливості в них трохи скромніше, ніж у IIS. Так Peer Web Services пропонує підключення, здається, тільки до 10 клієнтів, а Personal Web Server не підтримує протокол Gopher. А в іншому, що стосується ASP, можливості їх майже аналогічні.

Як правило, IIS використовується за своїм прямим призначенням, тобто як веб-сервер, Peer Web Services на Windows NT Workstation і Personal Web Server під Windows 95/98 – для розробки і тестування ASP-сторінок.

Напевно багато читачів хочуть поекспериментувати з ASP, і Personal Web Server (PWS) – найкраща платформа для таких експериментів. Все що вам потрібно, так це комп'ютер, Windows9x або WindowsMe, і залишається лише встановити PWS. Інтернет вам для таких експериментів не буде потрібно … Так як для більшості це актуально, то про PWS докладніше сказано в кінці статті (вважайте це додатком для тих, хто вирішив встановити собі цей сервер).

Як ASP розмножується?

Точно так само, як і у випадку HTML-сайтом, папка з вашим проектом буде знаходитися швидше за все в каталозі wwwroot, На який буде проектуватися ім'я вашої машини. Тільки, якщо для запуску за умовчанням в HTML використовується файл index.htm, То в ASP це буде файл default.asp.

Крім того, в кореневому каталозі вашого сайту повинен знаходитися файл global.asa. Це файл глобального оточення вашого проекту. У ньому можна ставити необхідні дії, які повинні бути виконані при ініціалізації інтернет-додатки, при початку нової сесії, а також при закритті сесії або програми.

Ще файл global.asa може містити оголошення глобальних змінних рівня докладання або рівня сесії. Хоча їх можна створювати, задавати і змінювати і надалі з інших сторінок проекту.

Тепер трохи докладніше про те, що мається на увазі під термінами додаток і сесія. Додаток – Це окреме адресний простір створюване сервером для роботи ваших сторінок. Воно ініціалізується при першому ж зверненні до будь-якої зі сторінок вашого проекту і не закривається до тих пір, поки хоч одним їх користувачів, що знаходяться на вашому сайті, відкрита хоч одна сторінка.

Сесія ж створюється, коли новий користувач входить на ваш сайт, і існує до тих пір, поки він тут знаходиться. Взагалі-то користувач може відкрити сторінку, і залишити її відкритою, продовжуючи працювати в інших вікнах. На цей випадок існує тимчасове обмеження – якщо користувач протягом 20 хвилин (за замовчуванням, значення може бути змінено) не робить ніяких дій, тобто не звертається до інших сторінкам, не передає будь-яких запитів або даних, то його сесія закривається. Тобто всі змінні оточення, створені для його сесії знищуються, звільняючи пам'ять. Це особливо важливо для проектів з великою відвідуваністю.

При розробці ASP-проекту в MS Visual InterDev (основному засобі розробки ASP-проектів) файл global.asa створюється автоматично разом з основними файлами і папками проекту (про це трохи пізніше). На початку він виглядає так (коментарі перевів я):

<SCRIPT LANGUAGE=VBScript RUNAT=Server>

"У цьому файлі ви можете вказати спеціальні обробники для подій, які будуть
"Запускатися автоматично при настанні відповідної події. Для створення
"Обробників просто створіть підпрограму з ім'ям зі списку внизу, відповідним
"Події, для якого ви хочете створити розробник. Наприклад, для обработчіканачала
"Сесії вам треба помістити наступний код в цьому файлі (без знаків коментаря):

“Sub Session_OnStart
"** Додайте тут свій код **
“End Sub

"Ім'я обробника опис
"Session_OnStart Запускається, коли користувач в перший раз запускає
"Будь-яку сторінку вашого застосування
"Session_OnEnd Запускається, коли закінчується час очікування для користувача
"Або коли він залишає додаток
"Application_OnStart Запускається, коли перша сторінка вашої програми
"Запускається в перший раз ким-небудь з користувачів
"Application_OnEnd Запускається, як тільки сервер припиняє роботу

</SCRIPT>

У загальному і цілому тут все більш-менш очевидно. Весь файл складається з одного скрипта, що виконується також на сервері, про що говорить атрибут RUNAT = Server. До речі в global.asa краще дотримуватися VB Script, так я, наприклад, кілька разів мав різні дрібні непорозуміння з JavaScript "ом, хоча причину їх до кінця не зміг зрозуміти – просто на VB Script працювало, а на JavaScript – ні (але це не завжди). Скрипт у файлі global.asa може складатися і з кількох розділів. У такому випадку кожен розділ повинен бути укладений в теги скрипта:

<SCRIPT LANGUAGE=VBScript RUNAT=Server>

</SCRIPT>

Змінні програми та сесії можна задавати і змінювати і з будь-яких сторінок додатку:

<%@ language=”VBscript” %>
<html>
<head></head>
<body>
<%
Application.Lock
Application(“Time”) = Now
Application.Unlock
%>
</body>
</html>

і у файлі global.asa

<SCRIPT LANGUAGE=VBScript RUNAT=Server>

Sub Session_OnStart
Session(“Time”) = Now
End Sub

</SCRIPT>

Методи Lock і Unlock потрібні в даному випадку для того, щоб не відбувалося накладок між різними сесіями, адже змінні додатки можуть використовуватися відразу декількома користувачами.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*