ASP Global.asa
Fail Global.asa
Fail Global.asa ialah fail pilihan yang mengandungi pengisytiharan objek, pembolehubah dan kaedah yang diakses oleh setiap halaman dalam aplikasi ASP .
Semua skrip penyemak imbas yang sah (JavaScript, VBScript, JScript, PerlScript, dll.) boleh digunakan dalam Global.asa.
Fail Global.asa hanya boleh mengandungi kandungan berikut:
Acara permohonan
Acara sesi
<objek> pengisytiharan
Pengisytiharan TypeLibrary
#include directive
Nota: Fail Global.asa mesti disimpan dalam direktori akar aplikasi ASP dan setiap aplikasi hanya boleh mempunyai satu fail Global.asa.
Acara dalam Global.asa
Dalam Global.asa anda boleh memberitahu aplikasi dan objek sesi apa yang perlu dilakukan apabila aplikasi/sesi bermula dan perkara yang perlu dilakukan apabila aplikasi/sesi berakhir Apa. Kod untuk menyelesaikan tugas ini diletakkan dalam pengendali acara. Fail Global.asa boleh mengandungi empat jenis acara:
Application_OnStart - Acara ini berlaku apabila pengguna pertama memanggil halaman pertama aplikasi ASP. Peristiwa ini berlaku selepas pelayan web dimulakan semula atau fail Global.asa diedit. Acara "Session_OnStart" berlaku serta-merta selepas acara ini.Session_OnStart - Acara ini berlaku apabila pengguna baharu meminta halaman pertamanya dalam aplikasi ASP.
Session_OnEnd - Acara ini berlaku apabila pengguna menamatkan sesi. Jika pengguna tidak meminta mana-mana halaman dalam masa yang ditetapkan (masa lalai ialah 20 minit), sesi pengguna akan tamat.
Application_OnEnd - Acara ini berlaku selepas pengguna terakhir menamatkan sesi mereka. Biasanya, peristiwa ini berlaku apabila pelayan web dihentikan. Subrutin ini digunakan untuk mengosongkan tetapan selepas aplikasi dihentikan, seperti memadamkan rekod atau menulis maklumat pada fail teks.
Fail Global.asa mungkin kelihatan seperti ini:
sub Application_OnStart
'beberapa kod
tamatkan sub
sub Application_OnEnd
'beberapa kod
tamatkan sub
sub Session_OnStart
'beberapa kod
tamatkan sub
sub Session_OnEnd
'beberapa kod
tamatkan sub
</skrip>
Nota: Memandangkan kami tidak boleh memasukkan skrip menggunakan pembatas skrip ASP (<% dan %>) dalam fail Global.asa, kami perlu meletakkan subrutin dalam HTML < ;
<objek> Pengisytiharan
boleh mencipta objek dengan sesi atau skop aplikasi dalam fail Global.asa dengan menggunakan teg <objek>
Nota: Teg <objek> harus berada di luar teg <skrip>
Sintaks
....
</objek>
Parameter | Penerangan | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
skop | Tetapkan objek ( Sesi atau Permohonan) skop. | ||||||||||
id | Menentukan id unik untuk objek. | ||||||||||
ProgID | Id yang dikaitkan dengan ClassID. Format ProgID ialah: [Vendor.]Component[.Version].
| ||||||||||
ClassID | Tentukan id unik untuk objek kelas COM. <🎜>ProgID atau ClassID mesti dinyatakan. <🎜> |
Instance
Tata pertama mencipta objek skop sesi bernama "MyAd" dengan menggunakan parameter ProgID:
</object>
Acara kedua mencipta objek skop aplikasi bernama "MyConnection" dengan menggunakan parameter ClassID:
classid="Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21">
< 🎜>
<object runat= "server" scope="session" id="MyAd" progid="MSWC.AdRotator">
</object>
Anda boleh merujuk objek "MyAd" dari mana-mana halaman dalam aplikasi ASP anda:
Fail .ASP :
<%=MyAd.GetAdvertisement("/banners/adrot.txt")%>
Pengisytiharan TypeLibrary TypeLibrary (pustaka jenis) ialah bekas yang mengandungi fail DLL yang sepadan dengan objek COM. Dengan memasukkan panggilan ke TypeLibrary dalam fail Global.asa, anda boleh mengakses pemalar objek COM dan kod ASP anda boleh melaporkan ralat dengan lebih baik. Jika aplikasi Web anda bergantung pada objek COM jenis data yang telah diisytiharkan dalam perpustakaan jenis, anda boleh mengisytiharkan perpustakaan jenis dalam Global.asa. Sintaks
nama fail" uuid="id" version="nombor" lcid="localeid"-->
Parameter | Penerangan | fail | Menentukan laluan mutlak ke perpustakaan jenis. parameter fail atau parameter uuid, kedua-duanya amat diperlukan.
|
---|---|
uuid | menentukan pengecam unik pustaka jenis. <🎜>parameter fail atau parameter uuid, kedua-duanya amat diperlukan. <🎜> |
versi | Pilihan. Digunakan untuk memilih versi. Jika versi yang diperlukan tidak ditemui, versi terdekat akan digunakan. |
lcid | Pilihan. Pengecam tempat yang digunakan untuk perpustakaan jenis. |
Nilai ralat
Pelayan akan mengembalikan salah satu daripada mesej ralat berikut:
错误代码 | 描述 |
---|---|
ASP 0222 | 无效的类型库规范 |
ASP 0223 | 没有找到类型库 |
ASP 0224 | 无法加载类型库 |
ASP 0225 | 无法包装类型库 |
Nota: Teg METADATA boleh muncul di mana-mana dalam fail Global.asa (sama ada di dalam atau di luar teg <skrip>). Walau bagaimanapun, kami masih mengesyorkan meletakkan teg METADATA di bahagian atas fail Global.asa.
Penghadan
Penghadan pada perkara yang boleh dirujuk dalam fail Global.asa:
Anda tidak boleh memaparkan kandungan dalam Global.asa teks fail. Tiada maklumat boleh dipaparkan pada fail ini.
Anda hanya boleh menggunakan objek Pelayan dan Aplikasi dalam subrutin Application_OnStart dan Application_OnEnd. Dalam subrutin Session_OnEnd, anda boleh menggunakan objek Pelayan, Aplikasi dan Sesi. Dalam subrutin Session_OnStart, anda boleh menggunakan sebarang objek terbina dalam.
Cara menggunakan subrutin
Global.asa sering digunakan untuk memulakan pembolehubah.
Contoh berikut menunjukkan cara untuk mengesan masa yang tepat apabila pelawat mula-mula tiba di tapak web. Masa disimpan dalam objek Sesi bernama "mula", dan nilai pembolehubah "mula" boleh diakses oleh mana-mana halaman ASP dalam aplikasi:
sub Session_OnStart
Session("started")=now()
end sub
</script>
Global.asa juga tersedia Untuk mengawal capaian halaman.
Contoh berikut menunjukkan cara untuk mengubah hala setiap pelawat baharu ke halaman lain, dalam kes ini halaman bernama "newpage.asp":
sub Session_OnStart
Response.Redirect("newpage.asp")
end sub
</script>
Anda boleh memasukkan fungsi dalam fail Global.asa.
Dalam contoh berikut, apabila pelayan web bermula, subrutin Application_OnStart juga bermula. Subrutin Application_OnStart kemudian memanggil subrutin lain bernama "getcustomers". Subrutin "getcustomers" membuka pangkalan data dan mendapatkan set rekod daripada jadual "pelanggan". Set rekod ini diberikan kepada tatasusunan dan mana-mana halaman ASP boleh mengakses tatasusunan ini tanpa menanyakan pangkalan data:
sub Application_OnStart
getcustomers
end sub
sub getcustomers
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft. Jet.OLEDB .4.0"
conn.Buka "c:/webdata/northwind.mdb"
set rs=conn.execute("pilih nama daripada pelanggan")
Application("customers")=rs .GetRows
rs.Tutup
sambung.Tutup
tamat sub
</skrip>
Contoh Global.asa
Dalam contoh ini, kami akan mencipta fail Global.asa yang mengira bilangan pelawat semasa.
Apabila pelayan bermula, Application_OnStart menetapkan nilai pembolehubah Aplikasi "pelawat" kepada 0.
Setiap kali pelawat baharu datang, subrutin Session_OnStart akan menambah 1 pada pembolehubah "pelawat".
Setiap kali subrutin Session_OnEnd dicetuskan, subrutin itu mengurangkan pembolehubah "pelawat" sebanyak 1.
Fail Global.asa:
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>
Dalam fail ASP, paparkan bilangan pelawat semasa:
<html>
<head>
</head>
<body>
<p>Terdapat <%response.write (Aplikasi("pelawat"))%> dalam talian sekarang!</p>
</body>
</html>