Latest web development tutorials

ASP Global.asa

file Global.asa

file Global.asa è un file facoltativo che può contenere dichiarazioni sono soggette le applicazioni ASP ogni pagina si accede, variabili e metodi.

Tutti gli script del browser legittimi (JavaScript, VBScript, JScript, PerlScript ecc) possono essere utilizzati nel Global.asa.

Global.asa file può contenere solo le seguenti:

  • applicazione Eventi
  • sessione evento
  • <Oggetto> dichiarazione
  • Dichiarazione TypeLibrary
  • direttiva #include

Nota: file Global.asadeve essere memorizzato nella directory principale dell'applicazione ASP, e ogni applicazione può avere un solo file Global.asa.


eventi Global.asa

In Global.asa si può dire gli oggetti di applicazione e di sessione quando l'applicazione / sessione iniziando cosa fare, cosa fare quando la fine della applicazione / sessione. Il codice per eseguire questa operazione si trova nel gestore di eventi. file Global.asa può contenere quattro tipi di eventi:

Application_OnStart - Questo evento si verifica quando un utente chiama la prima applicazione prima pagina ASP.Questo evento riavviare il server Web o che si verificano dopo che il file Global.asa viene modificato. "Session_OnStart" evento si verifica dopo che si verifica subito questo evento.

Session_OnStart - Questo evento si verifica ogni volta che un nuovo utente lui (lei) chiede in un'applicazione ASP in prima pagina.

Session_OnEnd - Questo evento si verifica ogni volta che la sessione dell'utente finale.Se l'utente non richiede qualsiasi pagina, la sessione utente terminerà entro un tempo predeterminato (il tempo predefinito è 20 minuti).

Application_OnEnd - Questo evento dopo che l'utente termina la sessione di verifica.In genere, l'evento si verifica quando il server Web viene arrestato. Questa subroutine viene utilizzato dopo l'applicazione di fermare le impostazioni di spurgo, ad esempio registri di cancellazione o scrivere informazioni in un file di testo.

Un file Global.asa potrebbe essere simile:

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

Nota: Dal momento che non possiamo usare i delimitatori di script ASP (<% e%>) inserire gli script nel file Global.asa, abbiamo bisogno di gestire ordinaria posto nel HTML <script> elemento al suo interno.


<Oggetto> dichiarazione

Può tag <object> per creare oggetti con la sessione o portata di applicazione nel file Global.asa utilizzando.

NOTA: <object> tag deve essere nel tag <script> fuori!

grammatica

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

Esempi

La prima istanza utilizzando il parametro ProgID per creare un oggetto ambito sessione chiamata "MyAd" di:

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

La seconda istanza viene creato utilizzando il campo di applicazione del parametro ClassID oggetti chiamati "MyConnection" di:

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

Gli oggetti dichiarati nel file Global.asa possono essere qualsiasi script di applicazione:

GLOBAL.ASA:

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

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

某个 .ASP 文件:

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


Dichiarazione TypeLibrary

TypeLibrary (tipo di libreria) è un contenitore che comprende un corrispondente file DLL di oggetti COM. Includendo una chiamata al TypeLibrary nel file Global.asa, è possibile accedere alle costanti dell'oggetto COM, e il codice ASP anche meglio in grado di segnalare errori. Se l'applicazione Web si basa sui tipi di dati di oggetti COM dichiarati in una libreria di tipi, è possibile digitare le librerie in dichiarazione Global.asa.

grammatica

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

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

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

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

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

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

valore di errore

Il server restituisce una delle seguente messaggio di errore:

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

Nota: tag per metadatinel file Global.asa ovunque (dentro e fuori il tag <script> può essere) appare. Tuttavia, si consiglia ancora tag per metadati posizionato nella parte superiore del file Global.asa.


limitato

A proposito di file Global.asa può essere fatto riferimento nel contenuto definito:

  • file Global.asa che non è possibile visualizzare il testo. Questo file non può visualizzare le informazioni.
  • È possibile utilizzare solo server e oggetti applicazione Application_OnStart e Application_OnEnd subroutine. Nella subroutine Session_OnEnd, è possibile utilizzare Server, Application e oggetti di sessione. Nella subroutine Session_OnStart, è possibile utilizzare qualsiasi oggetto incorporato.

Come usare le subroutine

Global.asa comunemente usato per inizializzare le variabili.

L'esempio seguente mostra come rilevare il tempo esatto di visitatori del sito web prima di arrivare. Il tempo viene memorizzato nell'oggetto Session denominata "ha iniziato", e il valore di "iniziato" variabile può essere qualsiasi pagina dell'applicazione ASP vista:

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

Global.asa può anche essere utilizzato per controllare l'accesso alla pagina.

L'esempio seguente mostra come reindirizzare ogni nuovo visitatore a un'altra pagina, in questo caso, sarà diretto a una pagina "newpage.asp" di nome:

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

È possibile includere funzioni nel file Global.asa.

Nell'esempio seguente, quando il server Web si avvia, Application_OnStart subroutine avrà inizio. Poi, Application_OnStart chiama un altro subroutine denominata "GetCustomers" subroutine. "GetCustomers" subroutine apre un database e recupera un record stabilito dalla tabella "clienti". Questo record è assegnato ad una serie di assemblaggio, senza interrogare il database, le pagine ASP per accedere a questa matrice:

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


Esempi di Global.asa

In questo esempio, creeremo un calcolo del numero attuale di visitatori file Global.asa.

  • Quando il server viene avviato, Application_OnStart impostare "visitatori" la variabile di applicazione è 0.
  • Ogni volta che un nuovi visitatori vengono a visitare, Session_OnStart subroutine sarà ai "visitatori" variabile più uno.
  • Ogni volta che Session_OnEnd subroutine viene attivato, la subroutine provvederà a trattenere dal "visitatori" variabile 1.

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

Nel file ASP che visualizza il numero attuale di visitatori:

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