Latest web development tutorials

ASP Global.asa

File global.asa

File Global.asa adalah file opsional yang dapat berisi deklarasi adalah aplikasi ASP subjek setiap halaman diakses, variabel dan metode.

Semua script browser yang sah (JavaScript, VBScript, JScript, PerlScript dll) dapat digunakan dalam Global.asa.

File Global.asa hanya berisi sebagai berikut:

  • aplikasi Acara
  • sesi acara
  • <Object> pernyataan
  • Pernyataan TypeLibrary
  • # include direktif

Catatan: File Global.asaharus disimpan dalam direktori root dari aplikasi ASP, dan setiap aplikasi hanya dapat memiliki satu file Global.asa.


peristiwa global.asa

Dalam Global.asa Anda dapat memberitahu aplikasi dan sesi objek ketika aplikasi / sesi awal apa yang harus dilakukan, apa yang harus dilakukan ketika akhir aplikasi / sesi. Kode untuk menyelesaikan tugas ini ditempatkan di event handler. File Global.asa dapat berisi empat jenis acara:

Application_OnStart - Peristiwa ini terjadi ketika pengguna memanggil halaman pertama ASP aplikasi pertama.Acara ini akan me-restart server Web atau terjadi setelah file Global.asa diedit. "Session_OnStart" peristiwa terjadi setelah peristiwa ini terjadi segera.

Session_OnStart - Peristiwa ini terjadi setiap kali pengguna baru meminta dia (nya) dalam sebuah aplikasi ASP di halaman pertama.

Session_OnEnd - Peristiwa ini terjadi setiap kali sesi pengguna akhir.Jika pengguna tidak meminta halaman apapun, sesi pengguna akan berakhir dalam waktu yang telah ditentukan (waktu default adalah 20 menit).

Application_OnEnd - Acara ini setelah pengguna berakhir sesi terakhir mereka terjadi.Biasanya, acara terjadi ketika server Web dihentikan. subroutine ini digunakan setelah aplikasi untuk menghentikan pengaturan pembersihan, seperti catatan menghapus atau menulis informasi ke file teks.

Sebuah file Global.asa mungkin terlihat seperti:

<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>

Catatan: Karena kita tidak dapat menggunakan script pembatas ASP (<% dan%>) memasukkan script dalam file Global.asa, kita perlu menangani rutin ditempatkan di HTML <script> elemen dalam.


<Object> pernyataan

Dapat <object> tag untuk membuat objek dengan sesi atau lingkup aplikasi dalam file Global.asa dengan menggunakan.

CATATAN: <object> tag harus dalam <script> tag di luar!

tatabahasa

<object runat="server" scope="scope" id="id" {progid="progID"|classid="classID"}>
....
</object>

参数 描述
scope 设置对象(Session 或 Application)的作用域。
id 为对象指定一个唯一的 id。
ProgID 与 ClassID 关联的 id。ProgID 的格式是:[Vendor.]Component[.Version]。

ProgID 或 ClassID 必需被指定。

ClassID 为 COM 类对象指定一个唯一的 id。

ProgID 或 ClassID 必需被指定。

contoh

Yang pertama misalnya dengan menggunakan parameter PROGID untuk membuat objek lingkup sesi yang disebut "MyAd" dari:

<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator">
</object>

Contoh kedua dibuat dengan menggunakan classid lingkup aplikasi parameter obyek yang disebut "MyConnection" dari:

<object runat="server" scope="application" id="MyConnection"
classid="Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21">
</object>

Objek dideklarasikan pada file Global.asa dapat script aplikasi:

GLOBAL.ASA:

<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator">
</object>

您可以从 ASP 应用程序中的任意页面引用 "MyAd" 对象:

某个 .ASP 文件:

<%=MyAd.GetAdvertisement("/banners/adrot.txt")%>


Pernyataan TypeLibrary

TypeLibrary (perpustakaan jenis) adalah sebuah wadah yang terdiri dari objek COM file DLL yang sesuai. Dengan termasuk panggilan untuk TypeLibrary dalam file Global.asa, Anda dapat mengakses konstanta dari objek COM, dan kode ASP dapat juga lebih baik untuk melaporkan kesalahan. Jika aplikasi Web Anda bergantung pada tipe data COM objek dideklarasikan pada perpustakaan jenis, Anda dapat mengetik perpustakaan dalam pernyataan Global.asa.

tatabahasa

<!--METADATA TYPE="TypeLib"
file="filename" uuid="id" version="number" lcid="localeid"
-->

参数 描述
file 规定指向类型库的绝对路径。

file 参数或者 uuid 参数,两者缺一不可。

uuid 规定了类型库的唯一的标识符。

file 参数或者 uuid 参数,两者缺一不可。

version 可选。用于选择版本。如果没有找到需要的版本,将使用最接近的版本。
lcid 可选。用于类型库的地区标识符。

nilai error

server mengembalikan salah satu pesan kesalahan berikut:

错误代码 描述
ASP 0222 无效的类型库规范
ASP 0223 没有找到类型库
ASP 0224 无法加载类型库
ASP 0225 无法包装类型库

Catatan: tag METADATAdi Global.asa mengajukan mana saja (di dalam dan di luar <script> tag bisa) muncul. Namun, kami tetap menyarankan tag METADATA ditempatkan di bagian atas file Global.asa.


terbatas

Tentang file Global.asa dapat dirujuk dalam konten didefinisikan:

  • File Global.asa bahwa Anda tidak bisa menampilkan teks. File ini tidak dapat menampilkan informasi.
  • Anda hanya dapat menggunakan Server dan Aplikasi objek Application_OnStart dan Application_OnEnd subrutin. Dalam subroutine Session_OnEnd, Anda dapat menggunakan Server, Aplikasi dan objek Session. Dalam subroutine Session_OnStart, Anda dapat menggunakan built-in objek.

Cara menggunakan subrutin

Global.asa biasa digunakan untuk menginisialisasi variabel.

Contoh berikut menunjukkan bagaimana mendeteksi waktu yang tepat dari pengunjung situs Web pertama kali tiba. Waktu disimpan dalam objek Sesi bernama "mulai" di, dan nilai "mulai" variabel dapat berupa tampilan halaman aplikasi ASP:

<script language="vbscript" runat="server">
sub Session_OnStart
Session("started")=now()
end sub
</script>

Global.asa juga dapat digunakan untuk mengontrol akses ke halaman.

Contoh berikut menunjukkan bagaimana untuk mengarahkan setiap pengunjung baru ke halaman lain, dalam hal ini akan diarahkan ke "newpage.asp" halaman bernama:

<script language="vbscript" runat="server">
sub Session_OnStart
Response.Redirect("newpage.asp")
end sub
</script>

Anda dapat menyertakan fungsi dalam file Global.asa.

Pada contoh berikut, ketika server Web dimulai, Application_OnStart subroutine akan mulai. Kemudian, Application_OnStart panggilan subroutine lain bernama "getcustomers" subroutine. "Getcustomers" subroutine membuka database dan mengambil sebuah rekor dari "pelanggan" meja. Catatan ini ditugaskan untuk array perakitan, tanpa query database, setiap halaman ASP untuk 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 perhitungan saat ini jumlah pengunjung berkas Global.asa.

  • Ketika server mulai, Application_OnStart mengatur variabel Aplikasi "pengunjung" adalah 0.
  • Setiap kali pengunjung baru datang untuk mengunjungi, Session_OnStart subroutine akan ke variabel "pengunjung" plus satu.
  • Setiap kali Session_OnEnd subroutine dipicu, subrutin akan mengurangi dari "pengunjung" variabel 1.

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>

Dalam file ASP yang menampilkan saat ini jumlah pengunjung:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>There are <%response.write(Application("visitors"))%> online now!</p>
</body>
</html>