ASP Global.asa
ไฟล์ Global.asa
ไฟล์ Global.asa เป็นไฟล์ตัวเลือกที่สามารถมีการประกาศเป็นโปรแกรม ASP เรื่องทุกหน้าเข้าถึงตัวแปรและวิธีการ
สคริปต์ทั้งหมดที่เบราว์เซอร์ที่ถูกต้อง (JavaScript, VBScript, JScript, PerlScript ฯลฯ ) สามารถนำมาใช้ใน Global.asa
ไฟล์ Global.asa สามารถมีเพียงต่อไปนี้:
- เหตุการณ์ของโปรแกรมประยุกต์
- เหตุการณ์เซสชั่น
- <object> คำสั่ง
- งบ TypeLibrary
- สั่ง #include
หมายเหตุ: ไฟล์ Global.asaจะต้องเก็บไว้ในไดเรกทอรีรากของแอพลิเคชันของ ASP และการประยุกต์ใช้แต่ละคนสามารถมีเพียงไฟล์ Global.asa หนึ่ง
เหตุการณ์ Global.asa
ใน Global.asa คุณสามารถบอกเซสชั่นการใช้งานและวัตถุเมื่อ application / เซสชั่นเริ่มต้นสิ่งที่จะทำสิ่งที่ต้องทำเมื่อตอนท้ายของแอพลิเคชัน / เซสชั่น รหัสเพื่อทํางานนี้จะอยู่ในตัวจัดการเหตุการณ์ ไฟล์ Global.asa สามารถมีสี่ประเภทของกิจกรรม:
Application_OnStart - เหตุการณ์นี้เกิดขึ้นเมื่อผู้ใช้เรียกโปรแกรมประยุกต์ ASP แรกหน้าแรกเหตุการณ์นี้จะเริ่มการทำงานของเว็บเซิร์ฟเวอร์หรือเกิดขึ้นหลังจากที่ไฟล์ Global.asa มีการแก้ไข "Session_OnStart" เหตุการณ์เกิดขึ้นหลังจากเหตุการณ์นี้เกิดขึ้นทันทีSession_OnStart - เหตุการณ์นี้เกิดขึ้นเมื่อใดก็ตามที่ผู้ใช้ใหม่ขอให้เขา (เธอ) ในโปรแกรมประยุกต์ ASP ในหน้าแรก
Session_OnEnd - เหตุการณ์นี้เกิดขึ้นเมื่อใดก็ตามที่ผู้ใช้ session ปลายหากผู้ใช้ไม่ได้ร้องขอหน้าใด ๆ เซสชันของผู้ใช้จะสิ้นสุดภายในเวลาที่กำหนดไว้ (เวลาเริ่มต้นคือ 20 นาที)
Application_OnEnd - เหตุการณ์นี้หลังจากที่ผู้ใช้จะสิ้นสุดลงเซสชั่นสุดท้ายของพวกเขาเกิดขึ้นโดยปกติแล้วมีเหตุการณ์เกิดขึ้นเมื่อเว็บเซิร์ฟเวอร์จะหยุดการทำงาน subroutine นี้จะใช้หลังจากการประยุกต์ใช้ในการหยุดการตั้งค่าล้างเช่นบันทึกลบหรือเขียนข้อมูลไปยังแฟ้มข้อความ
แฟ้ม Global.asa อาจมีลักษณะเช่น:
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>
หมายเหตุ: เนื่องจากเราไม่สามารถใช้ ASP คั่นสคริปต์ (<% และ%>) แทรกสคริปต์ในแฟ้ม Global.asa เราต้องจัดการกับกิจวัตรประจำวันอยู่ใน HTML <script> องค์ประกอบภายใน
<object> คำสั่ง
สามารถ <object> แท็กในการสร้างวัตถุกับเซสชั่นหรือขอบเขตการประยุกต์ใช้ในไฟล์ Global.asa โดยใช้
หมายเหตุ: <object> แท็กควรจะอยู่ใน <script> แท็กนอก!
ไวยากรณ์
....
</object>
参数 | 描述 |
---|---|
scope | 设置对象(Session 或 Application)的作用域。 |
id | 为对象指定一个唯一的 id。 |
ProgID | 与 ClassID 关联的 id。ProgID 的格式是:[Vendor.]Component[.Version]。
ProgID 或 ClassID 必需被指定。 |
ClassID | 为 COM 类对象指定一个唯一的 id。 ProgID 或 ClassID 必需被指定。 |
ตัวอย่าง
ตัวอย่างแรกโดยใช้พารามิเตอร์ ProgID เพื่อสร้างวัตถุขอบเขตเซสชั่นที่เรียกว่า "โฆษณาของฉัน" ต่อไปนี้:
</object>
ตัวอย่างที่สองคือการสร้างขึ้นโดยใช้ขอบเขตการประยุกต์ใช้พารามิเตอร์ ClassID วัตถุที่เรียกว่า "MyConnection" ของ:
classid="Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21">
</object>
วัตถุประกาศในแฟ้ม Global.asa สามารถสคริปต์โปรแกรมใด ๆ :
<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator">
</object>
您可以从 ASP 应用程序中的任意页面引用 "MyAd" 对象:
某个 .ASP 文件:
<%=MyAd.GetAdvertisement("/banners/adrot.txt")%>
งบ TypeLibrary
TypeLibrary (ชนิดห้องสมุด) เป็นภาชนะที่ประกอบไปด้วย COM ที่สอดคล้องกันไฟล์ DLL วัตถุ โดยรวมถึงการเรียกร้องให้ TypeLibrary ในแฟ้ม Global.asa คุณสามารถเข้าถึงค่าคงที่ของวัตถุ COM และโค้ด ASP ยังดีกว่าสามารถรายงานข้อผิดพลาด หากโปรแกรมประยุกต์บนเว็บของคุณอาศัยชนิดข้อมูลวัตถุ COM ประกาศในไลบรารีชนิดคุณสามารถพิมพ์ห้องสมุดในงบ Global.asa
ไวยากรณ์
file="filename" uuid="id" version="number" lcid="localeid"
-->
参数 | 描述 |
---|---|
file | 规定指向类型库的绝对路径。
file 参数或者 uuid 参数,两者缺一不可。 |
uuid | 规定了类型库的唯一的标识符。
file 参数或者 uuid 参数,两者缺一不可。 |
version | 可选。用于选择版本。如果没有找到需要的版本,将使用最接近的版本。 |
lcid | 可选。用于类型库的地区标识符。 |
ค่าความผิดพลาด
เซิร์ฟเวอร์จะส่งคืนหนึ่งในข้อผิดพลาดต่อไปนี้:
错误代码 | 描述 |
---|---|
ASP 0222 | 无效的类型库规范 |
ASP 0223 | 没有找到类型库 |
ASP 0224 | 无法加载类型库 |
ASP 0225 | 无法包装类型库 |
หมายเหตุ: แท็กเมตาใน Global.asa ไฟล์ได้ทุกที่ (ภายในและภายนอก <script> แท็กอาจเป็น) จะปรากฏขึ้นอย่างไรก็ตามเรายังคงแนะนำแท็กเมตาอยู่ที่ด้านบนของแฟ้ม Global.asa
ถูก จำกัด
เกี่ยวกับแฟ้ม Global.asa สามารถอ้างอิงในเนื้อหาที่กำหนดไว้:
- ไฟล์ Global.asa ว่าคุณไม่สามารถแสดงข้อความ ไฟล์นี้ไม่สามารถแสดงข้อมูล
- คุณสามารถใช้เซิร์ฟเวอร์และการประยุกต์ใช้วัตถุ Application_OnStart และ Application_OnEnd ซับรูทีน ใน subroutine Session_OnEnd คุณสามารถใช้เซิร์ฟเวอร์แอพลิเคชันและวัตถุเซสชัน ใน subroutine Session_OnStart คุณสามารถใช้วัตถุใดในตัว
วิธีการใช้งานโปรแกรมย่อย
Global.asa นิยมใช้ในการเริ่มต้นตัวแปร
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงวิธีการตรวจสอบเวลาที่แน่นอนของผู้เข้าชมเว็บไซต์แรกที่มาถึง เวลาที่ถูกเก็บไว้ในวัตถุสมัยที่มีชื่อว่า "เริ่มต้น" ในและความคุ้มค่าของการ "เริ่มต้น" ตัวแปรสามารถใด ๆ ASP เพจวิวแอพลิเคชัน:
sub Session_OnStart
Session("started")=now()
end sub
</script>
Global.asa ยังสามารถนำมาใช้เพื่อควบคุมการเข้าถึงหน้าเว็บ
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงวิธีการที่จะเปลี่ยนเส้นทางผู้เข้าชมทุกใหม่ไปยังหน้าอื่นในกรณีนี้จะถูกนำไปเป็น "newpage.asp" หน้าชื่อ:
sub Session_OnStart
Response.Redirect("newpage.asp")
end sub
</script>
คุณสามารถรวมฟังก์ชั่นในแฟ้ม Global.asa
ในตัวอย่างต่อไปเมื่อเว็บเซิร์ฟเวอร์เริ่ม Application_OnStart subroutine จะเริ่มต้น จากนั้น Application_OnStart เรียก subroutine อีกคนหนึ่งชื่อ "GetCustomers" subroutine "GetCustomers" subroutine เปิดฐานข้อมูลและดึงชุดบันทึกจาก "ลูกค้า" ตาราง บันทึกนี้ถูกกำหนดให้กับอาร์เรย์ของการชุมนุมโดยไม่ต้องสอบถามฐานข้อมูลหน้า ASP ใด ๆ ในการเข้าถึงอาร์เรย์นี้
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
ในตัวอย่างนี้เราจะสร้างการคำนวณจำนวนปัจจุบันของผู้เข้าชมไฟล์ Global.asa
- เมื่อเซิร์ฟเวอร์เริ่ม Application_OnStart ตั้งค่าตัวแปร Application "ผู้เข้าชม" คือ 0
- เมื่อใดก็ตามที่ผู้เข้าชมใหม่มาเยี่ยมชม Session_OnStart subroutine จะได้รับการ "ผู้เข้าชม" ตัวแปรบวกหนึ่ง
- เมื่อใดก็ตามที่ Session_OnEnd subroutine จะถูกเรียก subroutine จะลบออกจากตัวแปร "ผู้เข้าชม" 1
ไฟล์ 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>
ในไฟล์ ASP ที่แสดงหมายเลขปัจจุบันของผู้เข้าชม:
<html>
<head>
</head>
<body>
<p>There are <%response.write(Application("visitors"))%> online now!</p>
</body>
</html>