Berkas Global.asa ASP
- Halaman Sebelumnya Include ASP
- Halaman Berikutnya Email ASP
Fail Global.asa adalah fail pilihan, ia boleh mengandungi deklarasi objek, pembolehubah dan kaedah yang dapat diakses oleh setiap halaman aplikasi ASP. Semua skrip pelayar yang sah boleh digunakan di dalam Global.asa.
Fail Global.asa
Fail Global.asa adalah fail pilihan, ia boleh mengandungi deklarasi objek, pembolehubah dan kaedah yang dapat diakses oleh setiap halaman aplikasi ASP. Semua skrip pelayar yang sah boleh digunakan di dalam Global.asa.
Fail Global.asa boleh mengandungi kandungan berikut:
- Peristiwa Aplikasi
- Peristiwa Sesyen
- Pengumuman <object>
- Pengumuman TypeLibrary
- Perintah #include
Keterangan:Fail Global.asa mesti disimpan di dalam direktori utama aplikasi ASP, dan setiap aplikasi hanya boleh mempunyai satu fail Global.asa.
Peristiwa di Global.asa
Di berkas Global.asa, kami dapat memberitahu apa yang dilakukan objek application dan session di awal dan akhir. Kode yang menyelesaikan tugas ini disimpan di operator peristiwa. Berkas Global.asa dapat mengandung empat jenis peristiwa:
Application_OnStart - Peristiwa ini akan terjadi setiap kali pengguna pertama memanggil halaman pertama di aplikasi ASP. Peristiwa ini akan terjadi saat server web dimulai ulang atau berkas Global.asa diedit. Peristiwa 'Session_OnStart' akan terjadi segera setelah peristiwa ini terjadi.
Session_OnStart - Peristiwa ini akan terjadi setiap kali pengguna meminta halaman pertama di aplikasi ASP-nya.
Session_OnEnd - Peristiwa ini akan terjadi setiap kali pengguna menutup sesi. Jika dalam waktu yang ditentukan (peristiwa standar adalah 20 menit) tidak ada halaman yang diminta, sesi akan berakhir.
Application_OnEnd - Peristiwa ini akan terjadi setelah pengguna terakhir menutup sesi. Kondisi tipikal adalah, peristiwa ini akan terjadi saat server web berhenti. Subprogram ini digunakan untuk membersihkan pengaturan setelah aplikasi berhenti, seperti menghapus catatan atau menulis informasi ke berkas teks.
Berkas Global.asa mungkin seperti ini:
<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>
Keterangan:Karena tidak dapat memasukkan skrip di berkas Global.asa menggunakan simbol pemisah skrip ASP (<% dan %>), kami perlu menggunakan elemen <script> HTML.
Pengumuman <object>
Bisa menggunakan tanda <object> untuk membuat objek dengan lingkungan session atau application di berkas Global.asa.
Keterangan:Tanda <object> seharusnya berada di luar tanda <script>.
Sintaks:
<object runat="server" scope="scope" id="id" {progid="progID"|classid="classID"}> .... </object>
Parameter | Penerangan |
---|---|
scope | Tetapkan lingkungan objek (luas pengaruh) (Session atau Application). |
id | Tentukan id unik bagi objek. |
ProgID |
ID yang berhubungan dengan ClassID. Format ProgID adalah: [Vendor.]Komponen[.Versi]. ProgID atau ClassID mesti ditentukan. |
ClassID |
Tentukan id unik bagi objek kelas COM. ProgID atau ClassID mesti ditentukan. |
instansi
Contoh pertama menciptakan objek yang dinamakan "MyAd" dan menggunakan parameter ProgID untuk objek area tugas session:
<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator" </object>
Contoh kedua menciptakan objek yang dinamakan "MyConnection" menggunakan parameter ClassID.
<object runat="server" scope="application" id="MyConnection" classid="Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21" </object>
Objek yang diumumkan di berkas Global.asa ini dapat digunakan oleh semua skrip di aplikasi.
GLOBAL.ASA:
<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator" </object>
Dapat mengacu kepada objek "MyAd" ini dari halaman apapun di aplikasi ASP:
Berkas .ASP:
<%=MyAd.GetAdvertisement("/banners/adrot.txt")%>
Pengumuman TypeLibrary
TypeLibrary (Pustaka Tipe) adalah wadah yang mengandung berkas DLL yang sesuai dengan objek COM. Dengan memasukkan panggilan TypeLibrary di Global.asa, dapat mengakses konstanta objek COM, dan kode ASP juga dapat melaporkan kesalahan dengan lebih baik. Jika aplikasi situs Anda menggantung objek COM yang telah diumumkan di pustaka tipe, dapat mengumumkan pustaka tipe di Global.asa.
Sintaks:
<!--METADATA TYPE="TypeLib" file="filename" uuid="typelibraryuuid" version="versionnumber" lcid="localeid" -->
Parameter | Penerangan |
---|---|
file | Menentukan jalur absolut ke pustaka tipe. Parameter file atau uuid, keduanya wajib. |
uuid | Menentukan penanda unik untuk pustaka tipe. Parameter file atau uuid, keduanya wajib. |
version | Pilihan. Diperuntukkan untuk memilih versi. Jika versi yang ditentukan tidak ditemukan, versi yang paling dekat akan digunakan. |
lcid | Pilihan. Diperuntukkan untuk penanda wilayah pustaka tipe. |
Nilai kesalahan
Server akan mengembalikan salah satu pesan kesalahan di bawah ini:
Kesalahan | Kode | Penerangan |
---|---|---|
ASP | 0222 | Spesifikasi pustaka tipe yang salah |
ASP | 0223 | Type library not found |
ASP | 0224 | Type library cannot be loaded |
ASP | 0225 | Type library cannot be wrapped |
Keterangan:Tag METADATA dapat berada di mana saja di dalam file Global.asa (baik di dalam maupun di luar tag <script>). Walaupun demikian, kami tetap menyarankan untuk meletakkan tag METADATA di bagian atas file Global.asa.
Batasan
Dengan batasan tentang yang dapat diambil referensi dalam file Global.asa:
Anda tidak dapat menampilkan teks di dalam file Global.asa. File ini tidak dapat menampilkan informasi.
Anda hanya dapat menggunakan objek Server dan Application di dalam sub-routine Application_OnStart dan Application_OnEnd. Dalam sub-routine Session_OnEnd, anda dapat menggunakan objek Server, Application, dan Session. Dalam sub-routine Session_OnStart, anda dapat menggunakan setiap objek bawaan.
Bagaimana untuk menggunakan sub-routine
Global.asa sering digunakan untuk menginisialisasi variabel.
Contoh di bawah menunjukkan bagaimana waktu pengunjung pertama kali tiba di situs dapat dideteksi. Waktu ini disimpan di objek Session yang dinamai "started", dan nilai variabel "started" dapat diakses oleh setiap halaman ASP dalam aplikasi:
<script language="vbscript" runat="server"> sub Session_OnStart Session("started")=now() end sub </script>
Global.asa juga dapat digunakan untuk mengawasi akses halaman.
Contoh di bawah menunjukkan bagaimana setiap pengunjung baru dapat diarahkan ke halaman lain, di contoh ini akan diarahkan ke halaman "newpage.asp":
<script language="vbscript" runat="server"> sub Session_OnStart Response.Redirect("newpage.asp") end sub </script>
Kami juga dapat menyertakan fungsi di Global.asa.
Dalam contoh di bawah, apabila penghentian web server dijalankan, sub-routine Application_OnStart juga akan dijalankan. Setelah itu, sub-routine Application_OnStart akan memanggil sub-routine lain yang dinamai "getcustomers". Sub-routine "getcustomers" akan membuka database, kemudian mengambil set rekod dari tabel "customers". Set rekod ini akan diisi ke dalam array, tanpa memerlukan kueri ke database, setiap halaman ASP dapat mengakses array ini:
<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>
Contoh Global.asa
Dalam contoh ini, kita akan membuat fail Global.asa yang dapat menghitung kunjungan saat ini.
Application_OnStart menetapkan nilai variabel Application "visitors" menjadi 0 saat server memulai.
Ketika pengguna baru mengakses, prosedur Session_OnStart akan menambahkan 1 ke nilai variabel "visitors".
Ketika prosedur Session_OnEnd diaktifkan, prosedur ini akan mengurangkan nilai variabel "visitors" dengan 1.
Failah 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>
Failah ASP akan menunjukkan bilangan pengguna sekarang:
<html> <head> </head> <body> <p>Ada <%response.write(Application("visitors"))%> yang online sekarang!</p> </body> </html>
- Halaman Sebelumnya Include ASP
- Halaman Berikutnya Email ASP