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>

*

*