File Global.asa ASP
- Halaman Sebelumnya Include ASP
- Halaman Berikutnya Email ASP
Berkas Global.asa adalah berkas pilihan, yang dapat mengandung deklarasi objek, variabel, dan metode yang dapat diakses oleh setiap halaman aplikasi ASP. Semua skrip browser yang sah dapat digunakan di Global.asa.
Berkas Global.asa
Berkas Global.asa adalah berkas pilihan, yang dapat mengandung deklarasi objek, variabel, dan metode yang dapat diakses oleh setiap halaman aplikasi ASP. Semua skrip browser yang sah dapat digunakan di Global.asa.
Berkas Global.asa dapat mengandung konten berikut:
- Peristiwa Application
- Peristiwa Session
- Pengumuman <object>
- Pernyataan TypeLibrary
- Perintah #include
Keterangan:Berkas Global.asa harus disimpan di direktori root aplikasi ASP, dan setiap aplikasi hanya dapat memiliki satu berkas Global.asa.
Peristiwa di Global.asa
Di berkas Global.asa, kami dapat memberitahu apa yang dilakukan objek aplikasi dan session pada saat mulai dan berakhir. Kode untuk menyelesaikan tugas ini disimpan di operator event. Berkas Global.asa dapat mengandung empat jenis event:
Application_OnStart - Event ini akan terjadi setiap kali pengguna pertama memanggil halaman pertama di aplikasi ASP. Event ini akan terjadi saat server web dimulai kembali atau berkas Global.asa diedit. Event "Session_OnStart" akan terjadi segera setelah event ini terjadi.
Session_OnStart - Event ini akan terjadi setiap kali pengguna membuat permintaan halaman pertama di aplikasi ASP.
Session_OnEnd - Event ini akan terjadi setiap kali pengguna menutup sesi mereka. Jika dalam waktu yang ditentukan (event standar adalah 20 menit) tidak ada halaman yang diinginkan, sesi akan berakhir.
Application_OnEnd - Event ini akan terjadi setelah pengguna terakhir menutup sesi mereka. Kondisi umumnya, event ini 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 script di berkas Global.asa tidak dapat digunakan penanda pemisah skrip ASP (<% dan %>), kami harus menggunakan elemen <script> HTML.
Pengumuman <object>
Bisa membuat objek dengan lingkungan session atau aplikasi menggunakan tag <object> di berkas Global.asa.
Keterangan:Tandai tag <object> berada di luar tag <script>.
Syarat:
<object runat="server" scope="scope" id="id" {progid="progID"|classid="classID"}> .... </object>
Parameter | Deskripsi |
---|---|
scope | Atur lingkungan objek (dalam session atau aplikasi). |
id | Tentukan id unik untuk objek. |
ProgID |
ID yang berhubungan dengan ClassID. Format ProgID adalah: [Vendor.]Komponen[.Versi]. ProgID atau ClassID harus ditentukan. |
ClassID |
Tentukan id unik untuk objek kelas COM. ProgID atau ClassID harus ditentukan. |
instansi
Instansi pertama menciptakan objek yang dinamakan "MyAd" dan menggunakan parameter ProgID untuk objek area penggunaan session:
<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator" </object>
Instansi 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 ke objek "MyAd" ini dari halaman apapun di aplikasi ASP:
Berkas .ASP:
<%=MyAd.GetAdvertisement("/banners/adrot.txt")%>
Pernyataan TypeLibrary
TypeLibrary (Pustaka Tipe) adalah wadah yang mengandung berkas DLL yang sejalan dengan objek COM. Dengan memasukkan panggilan TypeLibrary di Global.asa, dapat mengakses konstanta objek COM, serta kode ASP 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.
Syarat:
<!--METADATA TYPE="TypeLib" file="filename" uuid="typelibraryuuid" version="versionnumber" lcid="localeid" -->
Parameter | Deskripsi |
---|---|
file | Menentukan jalur absolut ke pustaka tipe. Parameter file atau uuid, keduanya wajib ada. |
uuid | Menentukan identitas unik untuk pustaka tipe. Parameter file atau uuid, keduanya wajib ada. |
version | Pilihan. Digunakan untuk memilih versi. Jika versi yang ditentukan tidak ditemukan, versi yang paling dekat akan digunakan. |
lcid | Pilihan. Digunakan untuk menandai area identitas pustaka tipe. |
Nilai kesalahan
Server akan mengembalikan salah satu pesan kesalahan di bawah ini:
Kesalahan | Kode | Deskripsi |
---|---|---|
ASP | 0222 | Spesifikasi pustaka tipe yang tidak sah |
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 menempatkan tag METADATA di bagian atas file Global.asa.
Batasan
Batasan tentang apa yang dapat diacu di 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. Di dalam sub-routine Session_OnEnd, Anda dapat menggunakan objek Server, Application, dan Session. Di dalam sub-routine Session_OnStart, Anda dapat menggunakan semua objek bawaan.
Bagaimana menggunakan sub-routine
Global.asa sering digunakan untuk menginisialisasi variabel.
Contoh di bawah menunjukkan bagaimana mendeteksi waktu khusus saat pengunjung pertama kali datang ke situs. Waktu ini disimpan di dalam objek Session yang bernama "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 mengalihkan setiap pengunjung baru 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, ketika server Web dimulai, sub-routine Application_OnStart juga akan dimulai. Setelah itu, sub-routine Application_OnStart akan memanggil sub-routine lain yang bernama "getcustomers". Sub-routine "getcustomers" akan membuka database, lalu mengambil sebuah record set dari tabel "customers". Record set ini akan diatur ke dalam sebuah array, sehingga setiap halaman ASP dapat mengakses array ini tanpa mencari database:
<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>
Instance Global.asa
Dalam contoh ini, kita akan membuat file Global.asa yang dapat menghitung kunjungan saat ini.
Application_OnStart mengatur nilai variabel Application "visitors" menjadi 0 saat server dimulai.
Setiap ada pengguna baru yang mengakses, prosedur Sub Session_OnStart akan menambah 1 ke variabel "visitors".
Setiap prosedur Sub Session_OnEnd diaktifkan, prosedur ini akan mengurangi 1 dari variabel "visitors".
File 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>
File ASP ini akan menampilkan jumlah pengguna saat ini:
<html> <head> </head> <body> <p>Ada <%response.write(Application("visitors"))%> yang online saat ini!</p> </body> </html>
- Halaman Sebelumnya Include ASP
- Halaman Berikutnya Email ASP