Последние учебники веб-разработки
×

ASP Руководство

ASP ГЛАВНАЯ ASP Введение ASP устанавливать ASP Синтаксис ASP переменные ASP процедуры ASP формы ASP Cookies ASP сессия ASP заявка ASP #включают ASP Global.asa ASP Отправить по электронной почте

VBScript Руководство

VB ГЛАВНАЯ VB переменные VB процедуры VB условный VB перекручивание VB Примеры VB функции VB Ключевые слова

ASP Объекты

ASP отклик ASP Запрос ASP заявка ASP сессия ASP сервер ASP Ошибка ASP Файловая система ASP TextStream ASP Водить машину ASP файл ASP папка ASP Словарь ASP AdRotator ASP BrowserCap ASP Содержание Linking ASP Содержание ротатор ASP Быстрый Ref

ADO Руководство

ADO вступление ADO соединение ADO Recordset ADO дисплей ADO запрос ADO Сортировать ADO Добавить ADO Редактировать ADO Удалить ADO демонстрация ADO Ускорить

ADO Объекты

ADO команда ADO подключение ADO Ошибка ADO поле ADO параметр ADO Имущество ADO запись ADO Recordset ADO Поток ADO Типы данных

ASP and AJAX

AJAX вступление AJAX ASP AJAX База данных

ASP Примеры

ASP Примеры ASP викторина


 

ASP Файл Global.asa


Файл Global.asa

Файл Global.asa является необязательным файл, который может содержать объявления объектов, переменных и методов, которые могут быть доступны для каждой страницы в приложении ASP.

Все действительные сценарии браузера (JavaScript, VBScript, JScript, PerlScript, etc.) могут быть использованы в Global.asa.

Файл Global.asa могут содержать только следующее:

  • события приложений
  • события сеансов
  • <объект> декларации
  • TypeLibrary декларации
  • директива #include

Note: Файл Global.asa должен храниться в корневом каталоге приложения ASP, и каждое приложение может иметь только один файл Global.asa.


События в Global.asa

В Global.asa вы можете сказать приложение и сессии объектов, что делать, когда приложение / сессия начинается, и что делать, когда приложение / завершения сеанса. Код для этого помещается в обработчики событий. Файл Global.asa может содержать четыре типа событий:

Application_OnStart - Происходит , когда первый пользователь вызывает первую страницу в приложении ASP. Это событие происходит после того, как веб-сервер будет перезапущен или после того, как файл Global.asa редактируется. "Session_OnStart" событие происходит сразу же после этого события.

Session_OnStart - Это событие происходит каждый раз , когда новый пользователь запрашивает свою первую страницу в приложении ASP.

Session_OnEnd - Это событие происходит каждый раз , когда пользователь заканчивает сеанс. Пользовательская сессия заканчивается после того, как страница не была запрошена пользователем в течение определенного времени (by default this is 20 minutes) .

Application_OnEnd - Это событие происходит после того, как последний пользователь закончил сеанс. Как правило, это событие происходит, когда останавливается веб-сервер. Эта процедура используется для очистки настроек после приложения останавливается, как удалять записи или записывать информацию в текстовые файлы.

Файл Global.asa может выглядеть следующим образом:

<script language="vbscript" runat="server">

sub Application_OnStart
' Note: Потому что мы не можем использовать разделители сценариев ASP (<% and %>) , чтобы вставить скрипты в файле Global.asa, мы помещаем подпрограммы внутри HTML <script> элемент.


<объект> Объявления

Можно создавать объекты с сессией или сферой применения в Global.asa с помощью <object> тега.

Note: <object> тег должен быть вне <script> тегов!

Синтаксис

<object runat="server" scope=" параметр Описание scope Устанавливает объем объекта (either Session or Application) id Указывает уникальный идентификатор для объекта ProgID Идентификатор, связанный с идентификатором класса. Формат для ProgID является [Поставщик.] Компонент [.Version]

Либо ProgID или ClassID должен быть указан.

ClassID Указывает уникальный идентификатор для объекта COM класса.

Либо ProgID или ClassID должен быть указан.

Примеры

Первый пример создает объект области сеанса с именем "MyAd" с помощью параметра ProgID:

<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator">
</object>

Второй пример создает объект области приложения под названием "MyConnection" с помощью параметра ClassID:

<object runat="server" scope="application" id="MyConnection"
classid="Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21">
</object>

Объекты, объявленные в файле Global.asa могут быть использованы любым сценарием в приложении:

GLOBAL.ASA:

<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator">
</object>

You could reference the object "MyAd" from any page in the ASP application:

SOME .ASP FILE:

<%=MyAd.GetAdvertisement("/banners/adrot.txt")%>

TypeLibrary Объявления

TypeLibrary является контейнером для содержимого файла DLL, соответствующих COM-объекта. В том числе призыв к TypeLibrary в файле Global.asa, константы объекта COM могут быть доступны, и ошибки могут быть лучше, сообщает код ASP. Если веб-приложение использует COM-объекты, заявившие тип данных в библиотеках типов, можно объявить библиотеки типов в Global.asa.

Синтаксис

<!--METADATA TYPE="TypeLib"
file=" параметр Описание file Задает абсолютный путь к библиотеке типов.

Либо параметр файла или UUID параметр требуется

uuid Указывает уникальный идентификатор для библиотеки типов.

Либо параметр файла или UUID параметр требуется

version Необязательный. Используется для выбора версии. Если запрашиваемая версия не найдена, то самая последняя версия используется lcid Необязательный. Локальный идентификатор, которые будут использоваться для библиотеки типов

Значения ошибок

Сервер может возвращать одно из следующих сообщений об ошибке:

Код ошибки Описание
ASP 0222 Недопустимый тип библиотеки спецификация
ASP 0223 Тип библиотеки не найдены
ASP 0224 Тип библиотека не может быть загружена
ASP 0225 Библиотека Типа не может быть обернута

Note: МЕТАДАННЫЕ метки могут появляться в любом месте в файле Global.asa (both inside and outside <script> tags) , так (both inside and outside <script> tags) . Тем не менее, рекомендуется МЕТАДАННЫХ теги появляются в верхней части файла Global.asa.


ограничения

Ограничения на то, что вы можете включить в файл Global.asa:

  • Вы не можете отобразить текст, написанный в файле Global.asa. Этот файл не может отображать информацию
  • Вы можете использовать только объекты сервера и приложений в подпрограммах Application_OnStart и Application_OnEnd. В подпрограмме Session_OnEnd, вы можете использовать сервер, приложение и объекты Session. В подпрограмме Session_OnStart вы можете использовать любой встроенный объект

Как использовать Подпрограммы

Global.asa часто используется для инициализации переменных.

В приведенном ниже примере показано, как определить точное время, когда посетитель первый прибывающий на веб-сайте. Время хранится в переменной сеанса с именем "started" , а значение из "started" переменная может быть доступна из любой страницы ASP в приложении:

<script language="vbscript" runat="server">
sub Session_OnStart
Session("started")=now()
end sub
</script>

Global.asa также может быть использован для контроля доступа к странице.

В приведенном ниже примере показано , как перенаправить каждого нового посетителя на другую страницу, в этом случае на странице под названием "newpage.asp" :

<script language="vbscript" runat="server">
sub Session_OnStart
Response.Redirect("newpage.asp")
end sub
</script>

И вы можете включить функции в файле Global.asa.

В приведенном ниже примере подпрограммы Application_OnStart происходит при запуске веб-сервера. Затем подпрограмма Application_OnStart вызывает другую подпрограмму с именем "getcustomers" . "getcustomers" подпрограмма открывает базу данных и извлекает запись набора из "customers" таблицы. Набор записи присваивается массив, где можно получить доступ из любой страницы ASP без запросов к базе данных:

<script language="vbscript" runat="server">

sub Application_OnStart
getcustomers
end sub

sub getcustomers
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs=conn.execute("select name from customers")
Application("customers")=rs.GetRows
rs.Close
conn.Close
end sub

</script>

Пример Global.asa

В этом примере мы создадим файл Global.asa, который подсчитывает количество посетителей.

  • Application_OnStart устанавливает переменную Application "visitors" 0 при запуске сервера
  • Подпрограмма Session_OnStart прибавляет к переменным "visitors" каждый раз , когда новый посетитель приходит
  • Подпрограмма Session_OnEnd вычитает один из "visitors" каждый раз , когда эта подпрограмма запускается

Файл Global.asa:

<script language="vbscript" runat="server">

Sub Application_OnStart
Application("visitors")=0
End Sub

Sub Session_OnStart
Application.Lock
Application("visitors")=Application("visitors")+1
Application.UnLock
End Sub

Sub Session_OnEnd
Application.Lock
Application("visitors")=Application("visitors")-1
Application.UnLock
End Sub

</script>

Для того, чтобы отобразить количество посетителей в файле ASP:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>There are <%response.write(Application("visitors"))%> online now!</p>
</body>
</html>