Global.asa File
File Global.asa adalah file opsional yang dapat berisi deklarasi objek, variabel, dan metode yang dapat diakses oleh setiap halaman dalam sebuah aplikasi ASP.
Semua script browser yang valid (JavaScript, VBScript, JScript, PerlScript, etc.) dapat digunakan dalam Global.asa.
File Global.asa hanya dapat berisi berikut:
- peristiwa aplikasi
- peristiwa sesi
- <Object> deklarasi
- deklarasi TypeLibrary
- # include direktif
Note: Berkas Global.asa harus disimpan dalam direktori root dari aplikasi ASP, dan setiap aplikasi hanya dapat memiliki satu file Global.asa.
Acara di Global.asa
Dalam Global.asa Anda dapat memberitahu aplikasi dan sesi objek apa yang harus dilakukan ketika aplikasi / sesi dimulai dan apa yang harus dilakukan ketika aplikasi / sesi berakhir. Kode untuk ini ditempatkan di event handler. File Global.asa dapat berisi empat jenis acara:
Application_OnStart - Terjadi ketika pengguna PERTAMA panggilan halaman pertama dalam sebuah aplikasi ASP. peristiwa ini terjadi setelah server Web-restart atau setelah file Global.asa diedit. The "Session_OnStart" event terjadi segera setelah acara ini.Session_OnStart - Peristiwa ini terjadi setiap kali pengguna BARU meminta halaman pertama nya pada aplikasi ASP.
Session_OnEnd - Peristiwa ini terjadi setiap kali pengguna berakhir sesi. Seorang user-sesi berakhir setelah halaman belum diminta oleh pengguna untuk waktu tertentu (by default this is 20 minutes) .
Application_OnEnd - Peristiwa ini terjadi setelah pengguna TERAKHIR telah berakhir sesi. Biasanya, acara ini terjadi ketika server Web berhenti. Prosedur ini digunakan untuk membersihkan pengaturan setelah aplikasi berhenti, seperti catatan menghapus atau menulis informasi ke file teks.
Sebuah file Global.asa bisa terlihat seperti ini:
<script language="vbscript" runat="server">
sub Application_OnStart
' Note: Karena kita tidak dapat menggunakan script pembatas ASP (<% and %>) untuk menyisipkan script dalam file Global.asa, kami menempatkan subrutin dalam sebuah HTML <script> elemen.
<Object> Deklarasi
Hal ini dimungkinkan untuk membuat objek dengan sesi atau lingkup aplikasi dalam Global.asa dengan menggunakan <object> tag.
Note: The <object> tag harus berada di luar <script> tag!
Sintaksis
<object runat="server" scope=" Parameter Deskripsi scope Menetapkan ruang lingkup objek (either Session or Application) id Menentukan sebuah id unik untuk objek ProgID Id terkait dengan id kelas. Format untuk ProgID adalah [vendor.] Komponen [.Version] Entah ProgID atau classid harus ditentukan.
ClassID Menentukan sebuah id unik untuk objek COM kelas. Entah ProgID atau classid harus ditentukan.
contoh
Contoh pertama menciptakan sebuah objek dari sesi lingkup bernama "MyAd" dengan menggunakan parameter ProgID:
<object runat="server" scope="session" id="MyAd"
progid="MSWC.AdRotator">
</object> Contoh kedua menciptakan objek dari aplikasi lingkup bernama "MyConnection" dengan menggunakan parameter classid:
<object runat="server" scope="application" id="MyConnection"
classid="Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21">
</object> Benda-benda dideklarasikan pada file Global.asa dapat digunakan oleh setiap skrip dalam aplikasi:
GLOBAL.ASA:
<object runat="server" scope="session" id="MyAd"
progid="MSWC.AdRotator">
</object>
You could reference the object "MyAd" from any page in the ASP application:
SOME .ASP FILE:
<%=MyAd.GetAdvertisement("/banners/adrot.txt")%>
TypeLibrary Deklarasi
Sebuah TypeLibrary adalah wadah untuk isi dari file DLL yang sesuai dengan objek COM. Dengan termasuk panggilan ke TypeLibrary dalam file Global.asa, konstanta dari objek COM dapat diakses, dan kesalahan dapat lebih baik dilaporkan oleh kode ASP. Jika aplikasi Web Anda bergantung pada objek COM yang telah menyatakan tipe data dalam jenis perpustakaan, Anda dapat mendeklarasikan perpustakaan ketik Global.asa.
Sintaksis
<!--METADATA TYPE="TypeLib"
file=" Parameter Deskripsi file Menentukan path absolut untuk perpustakaan jenis. Entah parameter file atau parameter uuid diperlukan
uuid Menentukan pengenal unik untuk jenis perpustakaan. Entah parameter file atau parameter uuid diperlukan
version Pilihan. Digunakan untuk memilih versi. Jika versi yang diminta tidak ditemukan, maka versi terbaru yang digunakan lcid Pilihan. Lokal identifier akan digunakan untuk jenis perpustakaan Nilai kesalahan
Server dapat kembali salah satu pesan kesalahan berikut:
Kode kesalahan Deskripsi ASP 0222 jenis yang tidak valid spesifikasi perpustakaan ASP 0223 Jenis perpustakaan tidak ditemukan ASP 0224 Perpustakaan jenis tidak dapat dimuat ASP 0225 Perpustakaan jenis tidak dapat dibungkus
Note: tag METADATA dapat muncul di mana saja di file Global.asa (both inside and outside <script> tags) . Namun, dianjurkan bahwa tag METADATA muncul di dekat bagian atas dari file Global.asa.
pembatasan
Pembatasan pada apa yang dapat Anda masukkan dalam file Global.asa:
- Anda tidak dapat menampilkan teks yang ditulis dalam file Global.asa. File ini tidak dapat menampilkan informasi
- Anda hanya dapat menggunakan Server dan Aplikasi objek di Application_OnStart dan Application_OnEnd subrutin. Dalam subroutine Session_OnEnd, Anda dapat menggunakan Server, Application, dan objek Session. Dalam subrutin Session_OnStart Anda dapat menggunakan built-in objek
Cara menggunakan subrutin
Global.asa sering digunakan untuk menginisialisasi variabel.
Contoh di bawah ini menunjukkan bagaimana untuk mendeteksi waktu yang tepat pengunjung pertama tiba di situs Web. Waktu disimpan dalam variabel Sesi bernama "started" , dan nilai "started" variabel dapat diakses dari halaman ASP dalam aplikasi:
<script language="vbscript" runat="server">
sub Session_OnStart
Session("started")=now()
end sub
</script> Global.asa juga dapat digunakan untuk mengontrol akses halaman.
Contoh di bawah ini menunjukkan bagaimana untuk mengarahkan setiap pengunjung baru ke halaman lain, dalam hal ini untuk sebuah halaman yang disebut "newpage.asp" :
<script language="vbscript" runat="server">
sub Session_OnStart
Response.Redirect("newpage.asp")
end sub
</script> Dan Anda dapat menyertakan fungsi dalam file Global.asa.
Pada contoh di bawah subroutine Application_OnStart terjadi ketika server Web dimulai. Kemudian subroutine Application_OnStart panggilan subrutin lain bernama "getcustomers" . The "getcustomers" subroutine membuka database dan mengambil sebuah rekor dari "customers" meja. Rekor set ditugaskan untuk array, di tempat yang dapat diakses dari halaman ASP tanpa query 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>
global.asa Contoh
Dalam contoh ini kita akan membuat file Global.asa yang menghitung jumlah pengunjung saat ini.
- The Application_OnStart menetapkan variabel Aplikasi "visitors" ke 0 ketika server memulai
- The Session_OnStart subroutine menambahkan satu ke variabel "visitors" setiap kali pengunjung baru tiba
- The Session_OnEnd subrutin mengurangi salah satu dari "visitors" setiap kali subroutine ini dipicu
Global.asa File:
<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> Untuk menampilkan jumlah pengunjung saat ini dalam file ASP:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>There are <%response.write(Application("visitors"))%>
online now!</p>
</body>
</html>