Global ASA
Global.asa er den første fil der køres når din applikation startes op, eller en ny bruger browser din hjemmeside. Den kan f.eks. bruges til at indlæse variable. Se evt. Microsofts Global ASA reference. Du kan kun have en global.asa fil og den skal ligge i roden af dit webhotel, dvs. i din \www folder.
Her følger et lille eksempel, der tæller hvor mange brugere der er online lige nu. Vi sætter samtidig Session.Timeout værdien til kun 5 minutter, så der ikke går de normale 20 minutter før en session udløber.
Hver gang du overskriver eller ændrer din global.asa, vil serveren genstarte din applikation og derved eksekvere Application_OnEnd og Application_OnStart funktionerne.
<script language="vbscript" runat="server">
Sub Application_OnStart
Application("intBrugereOnline") = 0
End Sub
Sub Application_OnEnd
End Sub
Sub Session_OnStart
' Sæt udløbstid for sessioner til 5 minutter
Session.Timeout = 5
Application.Lock
Application("intBrugereOnline") = _
Application("intBrugereOnline") + 1
Application.Unlock
End Sub
Sub Session_OnEnd
Application.Lock
Application("intBrugereOnline") = _
Application("intBrugereOnline") - 1
Application.Unlock
End Sub
</script>
For at vise variablen på din side, kan du bruge følgende kode:
<%=Application("intBrugereOnline")%>
| Navn | Beskrivelse |
|---|---|
| Application_OnStart | Kører første gang en .asp side bliver vist i din applikation af en vilkårlig bruger og hver gang du ændrer i din global.asa fil. |
| Application_OnEnd | Kører når dit webhotel bliver lukket ned. |
| Session_OnStart | Kører første gang en bruger kører en .asp side i din applikation. |
| Session_OnEnd | Kører første gang en brugers session udløber eller brugeren vælger at afslutte sessionen. |
FAQ
Når jeg browser min side viser den fejlen 500-12 Application Restarting
Husk at hver gang du overskriver global.asa så genstarter din applikation og i mellemtiden vil ovenstående fejl fremkomme. Er der fejl i din global.asa fil risikerer du at applikationen hænger permanent og vi skal "reparere" den for dig. En typisk fejl er at man ikke låser Application objekter i Session_OnStart og Session_OnEnd eller har dubletter af de 4 rutiner (se eksemplet ovenfor).
Hvis man har brug for ekstern kode i sin global.asa, kan man inkludere en ekstern class eller kode ved at skrive:
<script language="vbscript" runat"=server" src="/includes/include-file.inc"></script>
