|
|
|||||||||||||||||||||||||||||
|
ASP - Где этот зверь водится? (документация, исходники)Источник: hedgehok Andrew Leshchuk
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>
В общем и целом здесь все более-менее очевидно. Весь файл состоит из одного скрипта, выполняемого также на сервере, о чем говорит атрибут RUNAT=Server. Кстати в global.asa лучше придерживаться VB Script, так я, например, несколько раз имел разные мелкие недоразумения с JavaScript'ом , хотя причину их до конца не смог понять - просто на VB Script работало, а на JavaScript - нет (но это не всегда). Скрипт в файле global.asa может состоять и из нескольких разделов. В таком случае каждый раздел должен быть заключен в теги скрипта: <SCRIPT LANGUAGE=VBScript RUNAT=Server>
Переменные приложения и сессии можно задавать и изменять и с любых страниц приложения: <%@ language="VBscript" %>
и в файле global.asa <SCRIPT LANGUAGE=VBScript RUNAT=Server>
Методы Lock и Unlock требуются в данном случае для того, чтобы не происходило накладок между различными сессиями, ведь переменные приложения могут использоваться сразу несколькими пользователями.
|
|