Latest web development tutorials

ASP Global.asa

fichier Global.asa

fichier Global.asa est un fichier facultatif qui peut contenir des déclarations sont des applications ASP soumis chaque page accédée, variables et méthodes.

Tous les scripts de navigateur légitimes (JavaScript, VBScript, JScript, PerlScript etc.) peuvent être utilisés dans le Global.asa.

Global.asa fichier peut contenir seulement ce qui suit:

  • Événements d'application
  • session Event
  • <Object> Déclaration
  • Déclaration TypeLibrary
  • directive #include

Remarque: le fichier Global.asadoit être stocké dans le répertoire racine de l'application ASP, et chaque application ne peut avoir qu'un seul fichier Global.asa.


événements Global.asa

Dans Global.asa vous pouvez dire les objets d'application et de session lorsque l'application / session débutant ce qu'il faut faire, ce qu'il faut faire lorsque la fin de l'application / session. Le code pour accomplir cette tâche est placée dans le gestionnaire d'événements. fichier Global.asa peut contenir quatre types d'événements:

Application_OnStart - Cet événement se produit lorsqu'un utilisateur appelle la première application première page ASP.Cet événement va redémarrer le serveur Web ou survenant après que le fichier Global.asa est édité. "Session_OnStart" événement se produit après cet événement se produit immédiatement.

Session_OnStart - Cet événement se produit chaque fois qu'un nouvel utilisateur lui (elle) demande dans une application ASP dans la première page.

Session_OnEnd - Cet événement se produit chaque fois que la session de l' utilisateur final.Si l'utilisateur ne demande pas une page, la session utilisateur se termine dans un temps prédéterminé (la durée par défaut est de 20 minutes).

Application_OnEnd - Cet événement après que l'utilisateur met fin à leur dernière session se produit.En règle générale, l'événement se produit lorsque le serveur Web est arrêté. Ce sous-programme est utilisé après l'application pour arrêter les paramètres de purge, comme les dossiers de suppression ou écrire des informations dans un fichier texte.

Un fichier Global.asa pourrait ressembler:

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

Note: Étant donné que nous ne pouvons pas utiliser les délimiteurs de script ASP (<% et%>) insérer des scripts dans le fichier Global.asa, nous devons gérer la routine placé dans le code HTML <script> élément à l' intérieur.


<Object> Déclaration

Peut balise <object> pour créer des objets avec étendue session ou application dans le fichier Global.asa à l'aide.

NOTE: balise <object>devrait être dans la balise <script> à l' extérieur!

grammaire

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

Exemples

Le premier exemple en utilisant le paramètre ProgID pour créer un objet session de portée appelée "Myad" de:

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

La deuxième instance est créée en utilisant l'application de paramètres champ ClassID objets appelés "MaConnexion" de:

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

Les objets déclarés dans le fichier Global.asa peut être un script d'application:

GLOBAL.ASA:

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

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

某个 .ASP 文件:

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


Déclaration TypeLibrary

TypeLibrary (bibliothèque de type) est un conteneur comprenant un fichiers DLL d'objet COM correspondants. En incluant un appel à TypeLibrary dans le fichier Global.asa, vous pouvez accéder aux constantes de l'objet COM, et le code ASP également mieux en mesure de signaler les erreurs. Si votre application Web repose sur des types de données d'objet COM déclarées dans une bibliothèque de types, vous pouvez taper des bibliothèques dans la déclaration Global.asa.

grammaire

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

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

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

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

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

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

Valeur d'erreur

Le serveur renvoie un des message d'erreur suivant:

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

Remarque: balise METADATAdans le fichier global.asa partout ( à l' intérieur et à l' extérieur de la balise <script> peut être) apparaît. Cependant, nous recommandons toujours tag MÉTADONNÉES placé au sommet du fichier Global.asa.


limité

À propos des fichiers Global.asa peut être référencé dans le contenu défini:

  • fichier Global.asa que vous ne pouvez pas afficher le texte. Ce fichier ne peut pas afficher des informations.
  • Vous ne pouvez utiliser Server et des objets d'application Application_OnStart et Application_OnEnd subroutines. Dans le sous-programme Session_OnEnd, vous pouvez utiliser le serveur, l'application et les objets de session. Dans le sous-programme Session_OnStart, vous pouvez utiliser un objet intégré.

Comment utiliser les sous-programmes

Global.asa couramment utilisé pour initialiser les variables.

L'exemple suivant montre comment détecter le moment exact de visiteurs du site Web arrivent en premier. Le temps est stocké dans l'objet de session nommée "a commencé" dans, et la valeur de "commencé" variable peut être toute application page vues ASP:

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

Global.asa peut également être utilisé pour contrôler l'accès à la page.

L'exemple suivant montre comment rediriger chaque nouveau visiteur vers une autre page, dans ce cas, sera dirigé vers une page "newpage.asp" nommé:

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

Vous pouvez inclure des fonctions dans le fichier Global.asa.

Dans l'exemple suivant, lorsque le serveur Web démarre, Application_OnStart sous-programme va commencer. Ensuite, Application_OnStart appelle un autre sous-programme nommé "GetCustomers" sous-programme. "GetCustomers" sous-programme ouvre une base de données et récupère un record établi à partir de la "clients" table. Cet enregistrement est attribué à un tableau d'ensemble, sans interroger la base de données, toutes les pages ASP pour accéder à ce tableau:

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


exemples Global.asa

Dans cet exemple, nous allons créer un calcul du nombre actuel de visiteurs fichier Global.asa.

  • Lorsque le serveur démarre, Application_OnStart définir la variable d'application "visiteurs" est 0.
  • Chaque fois qu'un de nouveaux visiteurs viennent visiter, Session_OnStart sous-programme sera aux "visiteurs" variables plus un.
  • Chaque fois que Session_OnEnd sous-programme est déclenchée, le sous-programme va soustraire des "visiteurs" variables 1.

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

Dans le fichier ASP qui affiche le nombre actuel de visiteurs:

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