ASP Global.asa tiedosto
- Edellinen sivu ASP #include
- Seuraava sivu ASP sähköposti
Global.asa-tiedosto on valinnainen tiedosto, joka voi sisältää ASP-sovelluksessa kaikkien sivujen kautta käytettävissä olevia objekteja, muuttujia ja menetelmiä.
Global.asa-tiedosto
Global.asa-tiedosto on valinnainen tiedosto, joka voi sisältää ASP-sovelluksessa kaikkien sivujen kautta käytettävissä olevia objekteja, muuttujia ja menetelmiä. Kaikki lailliset selaimen skriptit voidaan käyttää Global.asa:ssa.
Global.asa-tiedosto voi sisältää seuraavat elementit:
- Application-tapahtumat
- Session-tapahtumat
- <object>-ilmoitus
- TypeLibrary-ilmoitus
- #include-instruktiot
Huomautus:Global.asa-tiedosto täytyy sijaita ASP-sovelluksen juurikansiossa, ja jokaisella sovelluksella voi olla vain yksi Global.asa-tiedosto.
Tapahtumat Global.asa:ssa
Global.asa:ssa voimme ilmoittaa, mitä application- ja session-objektit tekevät käynnistyessään ja päätyessään. Tämä tehtävä suorittava koodi sijoitetaan tapahtumankäsittelijään. Global.asa-tiedosto voi sisältää neljä erilaista tapahtumaa:
Application_OnStart - Tämä tapahtuma tapahtuu ensimmäisen käyttäjän ensimmäisen sivun pyytäessä ASP-sovelluksesta. Tämä tapahtuma tapahtuu myös, kun Web-palvelin käynnistetään uudelleen tai Global.asa-tiedosto muutetaan. "Session_OnStart"-tapahtuma tapahtuu heti tämän tapahtuman jälkeen.
Session_OnStart - Tämä tapahtuma tapahtuu aina, kun uusi käyttäjä pyytää hänen ensimmäistä sivuaan ASP-sovelluksessa.
Session_OnEnd - Tämä tapahtuma tapahtuu aina, kun käyttäjä päättää session. Jos sivua ei pyydetä määräajassa (oletusarvoinen tapahtuma on 20 minuuttia), session päätyy.
Application_OnEnd - Tämä tapahtuma tapahtuu viimeisen käyttäjän session päätyttyä. Yleensä tämä tapahtuma tapahtuu, kun Web-palvelin lopettaa toimintansa. Tämä aliohjelma käytetään sovelluksen lopettamisen jälkeen asetusten poistamiseen, kuten tietueiden poistamiseen tai tiedostoon kirjoittamiseen.
Global.asa-tiedosto voi olla esimerkiksi seuraavanlainen:
<script language="vbscript" runat="server"> al Application_OnStart 'jotain koodia end sub al Application_OnEnd 'jotain koodia end sub al Session_OnStart 'jotain koodia end sub al Session_OnEnd 'jotain koodia end sub </script>
Huomautus:Koska ASP:n skriptien erotin (<% ja %>) ei voi olla käytössä Global.asa-tiedostossa, meidän täytyy käyttää HTML:n <script>-elementtiä.
<object>-ilmoitus
Voit luoda session- tai application-toimialueen objekteja Global.asa-tiedostossa käyttämällä <object>-elementtiä.
Huomautus:<object>-elementti tulisi sijaita <script>-elementin ulkopuolella.
Syntaksi:
<object runat="server" scope="scope" id="id" {progid="progID"|classid="classID"}> .... </object>
Parametri | Kuvaus |
---|---|
scope | Aseta objektin toimialue (toimialue) (Session tai Application). |
id | Määritä objektin yksilöllinen tunniste. |
ProgID |
ClassID:ään liittyvä tunniste. ProgID-muoto on: [Toimittaja.]Komponentti[.Versio]. ProgID tai ClassID on määritettävä. |
ClassID |
Määritä COM-luokan objektin yksilöllinen tunniste. ProgID tai ClassID on määritettävä. |
esimerkki
Ensimmäinen instanssi luo nimeltään "MyAd" ja käyttää ProgID-parametria olevan session-ala-objektin:
<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator" </object>
Toinen instanssi luo nimeltään "MyConnection" ja käyttää ClassID-parametria olevan
<object runat="server" scope="application" id="MyConnection" classid="Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21" </object>
Tässä Global.asa-tiedostossa määritetyt objektit ovat käytettävissä sovelluksen kaikissa skripteissä.
GLOBAL.ASA:
<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator" </object>
Voit viitata tähän "MyAd"-objektiin ASP-sovelluksen mihin tahansa sivulta:
Tietty .ASP-tiedosto:
<%=MyAd.GetAdvertisement("/banners/adrot.txt")%>
TypeLibrary-ilmoitus
TypeLibrary (tyyppikirjasto) on kontti, joka sisältää DLL-tiedostot, jotka vastaavat COM-objekteja. Komponenttien kutsun sisällyttäminen Global.asa:hen mahdollistaa COM-objektien muuttujien pääsyn, ja ASP-koodi voi raportoida virheet paremmin. Jos verkkosivustosi sovellus riippuu COM-objekteista, jotka on määritetty tyyppikirjastossa, voit ilmoittaa tyyppikirjastosta Global.asa:ssa.
Syntaksi:
<!--METADATA TYPE="TypeLib" file="filename" uuid="typelibraryuuid" version="versionnumber" lcid="localeid" -->
Parametri | Kuvaus |
---|---|
file | Määrittää tyyppikirjastoon viittaavan absoluuttisen polun. Parametrit file tai uuid, molemmat ovat välttämättömiä. |
uuid | Määrittää ainutlaatuisen tunnisteen tyyppikirjastolle. Parametrit file tai uuid, molemmat ovat välttämättömiä. |
version | Valinnainen. Valitaan versio. Jos määritettyä versiota ei löydy, käytetään lähintä versiota. |
lcid | Valinnainen. Alueidentiteetti tyyppikirjastolle. |
Virhearvo
Palvelin palauttaa yhden seuraavista virheilmoituksista:
Virhe | Koodi | Kuvaus |
---|---|---|
ASP | 0222 | Virheellinen tyyppikirjaston määrittely |
ASP | 0223 | Type library not found |
ASP | 0224 | Type library cannot be loaded |
ASP | 0225 | Type library cannot be wrapped |
Huomautus:METADATA-tunniste voi olla missä tahansa Global.asa-tiedoston sijainnissa (sekä <script>-tunnisteen sisällä että sen ulkopuolella). Kuitenkin suosittelemme sijoittamaan METADATA-tunnisteen Global.asa-tiedoston ylälaitaan.
Rajoitukset
Rajoitukset siitä, mitä voidaan viitata Global.asa-tiedostossa:
Et voi näyttää Global.asa-tiedoston tekstiä. Tämä tiedosto ei voi näyttää tietoja.
Voit käyttää Server- ja Application-objekteja vain Application_OnStart- ja Application_OnEnd-aliprocedureissa. Session_OnEnd-aliprocedureissa voit käyttää Server-, Application- ja Session-objekteja. Session_OnStart-aliprocedureissa voit käyttää kaikkia sisäänrakennettuja objekteja.
Miten käyttää aliproseduuria
Global.asa käytetään usein muuttujien alustamiseen.
Alla oleva esimerkki näyttää, kuinka voidaan määrittää vierailevan henkilön tarkka saapumisaika sivustolle. Aika tallennetaan nimettyyn Session-objektiin nimeltä "started", ja "started"-muuttujan arvoa voidaan käyttää missä tahansa ASP-sivulla sovelluksessa:
<script language="vbscript" runat="server"> sub Session_OnStart Session("started")=now() end sub </script>
Global.asa voidaan käyttää sivun pääsyn hallintaan.
Alla oleva esimerkki näyttää, kuinka jokainen uusi vieraileva henkilö ohjataan toiseen sivuun, tässä tapauksessa sivuun "newpage.asp":
<script language="vbscript" runat="server"> sub Session_OnStart Response.Redirect("newpage.asp") end sub </script>
Voimme myös sisällyttää funktioita Global.asa-tiedostoon.
Esimerkissä alla, kun Web-palvelin käynnistyy, myös Application_OnStart-aliprocedure käynnistyy. Sitten Application_OnStart-aliprocedure kutsuu toista aliproseduuria nimeltä "getcustomers". "getcustomers"-aliprocedure avaa tietokannan ja hakee yhden tietueen "customers"-taulusta. Tämä tietuekokoelma asetetaan arvoksi taulukolle, joten mikään ASP-sivu voi käyttää tätä taulukkoa ilman tietokantahaun suorittamista:
<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 esimerkki
Tässä esimerkissä meidän täytyy luoda Global.asa-tiedosto, joka voi laskea nykyisiä kävijöitä.
Application_OnStart asettaa, kun palvelin käynnistyy, Application-muuttujan "visitors" arvon 0:ksi.
Kun uusi käyttäjä vierailee, Session_OnStart-algoritmi lisää muuttujan "visitors" arvoa 1:llä.
Kun Session_OnEnd-algoritmia kutsutaan, tämä algoritmi vähentää muuttujan "visitors" arvoa 1:llä.
Global.asa-tiedosto:
<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>
Tämä ASP-tiedosto näyttää nykyisten käyttäjien määrän:
<html> <head> </head> <body> <p>Nyt on verkossa <%response.write(Application("visitors"))%>!</p> </body> </html>
- Edellinen sivu ASP #include
- Seuraava sivu ASP sähköposti