Latest web development tutorials

ASP Global.asa

Global.asa файл

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

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

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

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

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


события GLOBAL.ASA

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

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

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

Session_OnEnd - Это событие происходит каждый раз , когда сеанс конечного пользователя.Если пользователь не запрашивает страницу, сеанс пользователя завершится в течение заданного времени (время по умолчанию составляет 20 минут).

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

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

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

sub Application_OnStart
'some code
end sub

sub Application_OnEnd
'some code
end sub

sub Session_OnStart
'some code
end sub

sub Session_OnEnd
'some code
end sub

</script>

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


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

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

Примечание: <объект> тег должен быть в <скрипт> тег вне!

грамматика

<object runat="server" scope="scope" id="id" {progid="progID"|classid="classID"}>
....
</object>

参数 描述
scope 设置对象(Session 或 Application)的作用域。
id 为对象指定一个唯一的 id。
ProgID 与 ClassID 关联的 id。ProgID 的格式是:[Vendor.]Component[.Version]。

ProgID 或 ClassID 必需被指定。

ClassID 为 COM 类对象指定一个唯一的 id。

ProgID 或 ClassID 必需被指定。

примеров

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

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

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

<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>

您可以从 ASP 应用程序中的任意页面引用 "MyAd" 对象:

某个 .ASP 文件:

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


TypeLibrary Заявление

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

грамматика

<!--METADATA TYPE="TypeLib"
file="filename" uuid="id" version="number" lcid="localeid"
-->

参数 描述
file 规定指向类型库的绝对路径。

file 参数或者 uuid 参数,两者缺一不可。

uuid 规定了类型库的唯一的标识符。

file 参数或者 uuid 参数,两者缺一不可。

version 可选。用于选择版本。如果没有找到需要的版本,将使用最接近的版本。
lcid 可选。用于类型库的地区标识符。

значение ошибки

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

错误代码 描述
ASP 0222 无效的类型库规范
ASP 0223 没有找到类型库
ASP 0224 无法加载类型库
ASP 0225 无法包装类型库

Примечание: Тег метаданныхв файл Global.asa в любом месте (внутри и снаружи <сценарий> тег может быть) появляется. Тем не менее, мы по-прежнему рекомендуем МЕТАДАННЫХ тег помещается в верхней части файла Global.asa.


ограниченной

О файле Global.asa можно ссылаться в содержании определенного:

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

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

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

В следующем примере показано, как определить точное время посетителей веб-сайта впервые приходят. Время хранится в объекте Session под названием "начал" в, а значение "начала" переменная может быть любой вид 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" подпрограмма открывает базу данных и извлекает запись набора из таблицы "клиентов". Эта запись присваивается массив сборки, без запросов к базе данных, любые 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 "посетителей" 0.
  • Всякий раз, когда новые посетители приходят в гости, Session_OnStart подпрограмма будет переменной "посетителей" плюс один.
  • Всякий раз, когда Session_OnEnd подпрограмма вызывается подпрограмма будет вычесть из переменной "посетителей" 1.

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>