Latest web development tutorials

ASP Global.asa

plik Global.asa

Plik Global.asa jest opcjonalny plik, który może zawierać deklaracje są objęte aplikacje ASP każda strona uzyskano dostęp, zmienne i metody.

Wszystkie uzasadnione skrypty przeglądarki (JavaScript, VBScript, JScript, PerlScript etc.) mogą być stosowane w Global.asa.

Global.asa plik może zawierać wyłącznie:

  • Zastosowanie Wydarzenia
  • sesja Event
  • <Object> Oświadczenie
  • TypeLibrary komunikat
  • dyrektywa #include

Uwaga: Plik Global.asamusi być przechowywany w katalogu głównym aplikacji ASP, a każda aplikacja może mieć tylko jeden plik Global.asa.


zdarzenia Global.asa

W Global.asa można powiedzieć aplikację i obiekty sesji, gdy aplikacja / sesji począwszy od tego, co zrobić, co zrobić, gdy koniec aplikacji / sesji. Kod do wykonania tego zadania jest umieszczony w module obsługi zdarzeń. Plik Global.asa może zawierać cztery rodzaje zdarzeń:

Application_OnStart - To zdarzenie występuje, gdy użytkownik dzwoni do pierwszej aplikacji ASP pierwszą stronę.To wydarzenie będzie ponownie uruchomić serwer WWW lub występujące po plik Global.asa jest edytowany. "Session_OnStart" zdarzenie po to zdarzenie natychmiast.

Session_OnStart - To zdarzenie wystąpi, gdy nowy użytkownik zażąda go (ją) w aplikacji ASP w pierwszej stronie.

Session_OnEnd - To zdarzenie występuje, gdy sesję użytkownika końcowego.Jeśli użytkownik nie zażąda żadnych stronę, sesja użytkownika zakończy się w określonym czasie (domyślny czas wynosi 20 minut).

Application_OnEnd - To wydarzenie, gdy użytkownik kończy swoją ostatnią sesję występuje.Zazwyczaj zdarzenie występuje, gdy serwer WWW zostaje zatrzymany. Ten podprogram jest stosowany po aplikacji, aby zatrzymać ustawienia oczyszczania, takie jak usuwanie rekordów lub zapisać je w pliku tekstowym.

Plik Global.asa może wyglądać tak:

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

Uwaga: Ponieważ nie możemy korzystać z ograniczników skrypt ASP (<% i%>) wstawić skrypty w pliku Global.asa, musimy obsłużyć rutynowych umieszczony w kodzie HTML <script> wewnątrz.


<Object> Oświadczenie

Może <object> tag do tworzenia obiektów z sesji lub zakres aplikacji w pliku Global.asa za pomocą.

UWAGA: <object> tag powinien być w tagu <script> na zewnątrz!

gramatyka

<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 必需被指定。

Przykłady

Pierwsze wystąpienie za pomocą parametru ProgID utworzyć obiekt zakres sesji o nazwie "MyAd" stanowi:

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

Druga instancja jest tworzona przy użyciu zakresu aplikacji parametr CLASSID obiekty nazywane "myConnection" w:

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

Przedmioty zadeklarowane w pliku Global.asa może być dowolny skrypt aplikacji:

GLOBAL.ASA:

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

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

某个 .ASP 文件:

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


TypeLibrary komunikat

TypeLibrary (typ biblioteki) jest pojemnik zawierający odpowiednie pliki DLL obiektów COM. Dzięki tym wezwanie do TypeLibrary w pliku Global.asa, można uzyskać dostęp do stałych obiektu COM, a kod ASP także lepiej do zgłaszania błędów. Jeśli aplikacja internetowa opiera się na typach danych obiektów COM deklarowanych w bibliotece typu, można wpisać bibliotek w oświadczeniu Global.asa.

gramatyka

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

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

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

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

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

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

wartość błędu

Serwer zwraca jeden z następującym komunikatem o błędzie:

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

Uwaga: Znacznik metadanychw pliku Global.asa wszędzie (na zewnątrz i wewnątrz tagu <script> może być) pojawi. Jednak nadal polecam metadane tag umieszczony w górnej części pliku Global.asa.


ograniczony

O Plik Global.asa można odwoływać się w treści określonej:

  • Plik Global.asa, że ​​nie można wyświetlać tekst. Plik ten nie może wyświetlić informacje.
  • Można używać tylko Application Server i obiektów Application_OnStart i Application_OnEnd podprogramów. W podprogramie Session_OnEnd, można użyć serwera, stosowanie i obiekty sesji. W podprogramie Session_OnStart można używać wbudowanego obiektu.

Jak korzystać z podprogramów

Global.asa powszechnie używane do inicjalizacji zmiennych.

Poniższy przykład pokazuje, jak wykryć dokładny czas odwiedzających stronę internetową po przyjeździe. Czas jest przechowywany w obiekcie Session nazwie "kroki" w, a wartość "rozpoczął" zmienna może być żadnych ASP odsłon zastosowanie:

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

Global.asa może być również stosowany do kontrolowania dostępu do strony.

Poniższy przykład pokazuje, jak przekierować każdego nowego użytkownika do innej strony, w tym przypadku zostanie skierowany na stronę "newpage.asp" o nazwie:

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

Możesz dołączyć funkcje w pliku Global.asa.

W poniższym przykładzie, po uruchomieniu serwera WWW, Application_OnStart podprogram rozpocznie. Następnie Application_OnStart wywołuje inny podprogram o nazwie "GetCustomers" podprogram. "GetCustomers" podprogram otwiera bazę danych i pobiera rekord ustanowiony z "klientów" tabeli. Ten rekord jest przypisany do tablicy montażu, bez zapytań do bazy danych, wszystkie strony ASP, aby uzyskać dostęp do tej tablicy:

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


przykłady Global.asa

W tym przykładzie stworzymy obliczenie aktualnej liczby zwiedzających Global.asa pliku.

  • Po uruchomieniu serwera, Application_OnStart ustawić zmienną Aplikacja "gości" jest 0.
  • Gdy nowy przyjeżdża odwiedzić, Session_OnStart podprogram będzie do zmiennej "odwiedzających" plus jeden.
  • Ilekroć Session_OnEnd podprogram jest wywoływany podprogram będzie odjąć od zmiennej "gości" 1.

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

W pliku ASP, który wyświetla aktualną liczbę zwiedzających:

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