ล่าสุดการพัฒนาเว็บบทเรียน
×

ASP เกี่ยวกับการสอน

ASP บ้าน ASP บทนำ ASP ติดตั้ง ASP วากยสัมพันธ์ ASP ตัวแปร ASP ขั้นตอน ASP ฟอร์ม ASP Cookies ASP เซสชั่น ASP ใบสมัคร ASP #ประกอบด้วย ASP Global.asa ASP ส่งอีเมลล์

VBScript เกี่ยวกับการสอน

VB บ้าน VB ตัวแปร VB ขั้นตอน VB เงื่อนไข VB วนลูป VB ตัวอย่าง VB ฟังก์ชั่น VB คำสำคัญ

ASP วัตถุ

ASP คำตอบ ASP ขอร้อง ASP ใบสมัคร ASP เซสชั่น ASP เซิร์ฟเวอร์ ASP ผิดพลาด ASP FileSystem ASP TextStream ASP ขับรถ ASP ไฟล์ ASP โฟลเดอร์ ASP พจนานุกรม ASP AdRotator ASP BrowserCap ASP การเชื่อมโยงเนื้อหา ASP Rotator เนื้อหา ASP Ref ด่วน

ADO เกี่ยวกับการสอน

ADO แนะนำ ADO สัมพันธ์ ADO ระเบียน ADO แสดง ADO สอบถาม ADO ประเภท ADO เพิ่ม ADO ปรับปรุง ADO ลบ ADO การสาธิต ADO เร่งความเร็ว

ADO วัตถุ

ADO คำสั่ง ADO สัมพันธ์ ADO ผิดพลาด ADO สนาม ADO พารามิเตอร์ ADO คุณสมบัติ ADO บันทึก ADO ระเบียน ADO กระแส ADO ประเภทข้อมูล

ASP and AJAX

AJAX แนะนำ AJAX ASP AJAX ฐานข้อมูล

ASP ตัวอย่าง

ASP ตัวอย่าง ASP ทดสอบ


 

ASPแฟ้ม Global.asa


แฟ้ม Global.asa

แฟ้ม Global.asa เป็นไฟล์ตัวเลือกที่สามารถมีการประกาศของวัตถุตัวแปรและวิธีการที่สามารถเข้าถึงได้โดยทุกหน้าในโปรแกรมประยุกต์ ASP

สคริปต์ทั้งหมดที่เบราว์เซอร์ที่ถูกต้อง (JavaScript, VBScript, JScript, PerlScript, etc.) สามารถนำมาใช้ภายใน Global.asa

แฟ้ม Global.asa สามารถมีเพียงต่อไปนี้:

  • แอพลิเคชันเหตุการณ์
  • เหตุการณ์เซสชั่น
  • <object> ประกาศ
  • ประกาศ TypeLibrary
  • สั่ง #include

Note: แฟ้ม Global.asa จะต้องเก็บไว้ในไดเรกทอรีรากของแอพลิเคชันของ ASP และการประยุกต์ใช้แต่ละคนสามารถมีเพียงไฟล์ Global.asa หนึ่ง


เหตุการณ์ใน Global.asa

ใน Global.asa คุณสามารถบอกใบสมัครและวัตถุเซสชั่นจะทำอย่างไรเมื่อแอพลิเคชัน / ครั้งจะเริ่มต้นและจะทำอย่างไรเมื่อแอพลิเคชัน / ครั้งปลาย รหัสนี้จะอยู่ในตัวจัดการเหตุการณ์ แฟ้ม Global.asa สามารถมีสี่ประเภทของกิจกรรม:

Application_OnStart - เกิดขึ้นเมื่อผู้ใช้คนแรกเรียกหน้าแรกในโปรแกรมประยุกต์ ASP เหตุการณ์นี้เกิดขึ้นหลังจากที่เว็บเซิร์ฟเวอร์จะเริ่มต้นใหม่หรือหลังแฟ้ม Global.asa มีการแก้ไข "Session_OnStart" เหตุการณ์เกิดขึ้นทันทีหลังจากเหตุการณ์นี้

Session_OnStart - เหตุการณ์นี้เกิดขึ้นทุกครั้งที่ผู้ใช้ใหม่ขอหน้าแรกของเขาหรือเธอในการประยุกต์ใช้ ASP

Session_OnEnd - เหตุการณ์นี้เกิดขึ้นทุกครั้งที่ผู้ใช้จะสิ้นสุดลงเซสชั่น A ใช้งานเซสชั่นหลังจากจบหน้ายังไม่ได้รับการร้องขอโดยผู้ใช้สำหรับเวลาที่กำหนด (by default this is 20 minutes)

Application_OnEnd - เหตุการณ์นี้เกิดขึ้นหลังจากที่ผู้ใช้คนสุดท้ายได้สิ้นสุดลงเซสชั่น โดยปกติแล้วเหตุการณ์นี้เกิดขึ้นเมื่อเว็บเซิร์ฟเวอร์หยุด ขั้นตอนนี้จะใช้ในการทำความสะอาดการตั้งค่าหลังจากที่แอพลิเคชันหยุดเช่นบันทึกลบหรือเขียนข้อมูลไปยังแฟ้มข้อความ

แฟ้ม Global.asa อาจมีลักษณะบางอย่างเช่นนี้

<script language="vbscript" runat="server">

sub Application_OnStart
' Note: เนื่องจากเราไม่สามารถใช้ ASP คั่นสคริปต์ (<% and %>) เพื่อแทรกสคริปต์ในแฟ้ม Global.asa เราใส่ซับรูทีนภายใน HTML <script> องค์ประกอบ


<object> ประกาศ

มันเป็นไปได้ในการสร้างวัตถุกับเซสชั่นหรือขอบเขตการประยุกต์ใช้ใน Global.asa โดยใช้ <object> แท็ก

Note: <object> แท็กควรจะออกไปข้างนอก <script> แท็ก!

วากยสัมพันธ์

<object runat="server" scope=" พารามิเตอร์ ลักษณะ scope ตั้งขอบเขตของวัตถุ (either Session or Application) id ระบุรหัสเฉพาะสำหรับวัตถุ ProgID รหัสเชื่อมโยงกับรหัสระดับ รูปแบบสำหรับ ProgID เป็น [ผู้ขาย.] ตัวแทน [.Version]

อย่างใดอย่างหนึ่งหรือ ProgID ClassID ต้องระบุ

ClassID ระบุรหัสเฉพาะสำหรับวัตถุคลาส COM

อย่างใดอย่างหนึ่งหรือ ProgID ClassID ต้องระบุ

ตัวอย่าง

ตัวอย่างแรกสร้างวัตถุขอบเขตเซสชั่นชื่อ "MyAd" โดยใช้พารามิเตอร์ ProgID:

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

ตัวอย่างที่สองสร้างวัตถุขอบเขตการประยุกต์ใช้ชื่อ "MyConnection" โดยใช้พารามิเตอร์ ClassID:

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

วัตถุที่ประกาศในแฟ้ม Global.asa สามารถใช้สคริปต์ใด ๆ ในการสมัคร:

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 ประกาศ

TypeLibrary เป็นภาชนะสำหรับเนื้อหาของไฟล์ DLL ที่สอดคล้องกับวัตถุ COM ที่ โดยรวมถึงการเรียกร้องให้ TypeLibrary ในแฟ้ม Global.asa ที่เป็นค่าคงที่ของวัตถุ COM ที่สามารถเข้าถึงได้และข้อผิดพลาดสามารถรายงานที่ดีขึ้นโดยรหัส ASP หากโปรแกรมประยุกต์บนเว็บของคุณอาศัยวัตถุ COM ที่ได้ประกาศชนิดข้อมูลในห้องสมุดชนิดที่คุณสามารถประกาศไลบรารีชนิดใน Global.asa

วากยสัมพันธ์

<!--METADATA TYPE="TypeLib"
file=" พารามิเตอร์ ลักษณะ file ระบุเส้นทางที่แน่นอนไปยังห้องสมุดประเภท

ทั้งพารามิเตอร์ไฟล์หรือพารามิเตอร์ UUID เป็นสิ่งจำเป็น

uuid ระบุตัวระบุที่ไม่ซ้ำกันสำหรับไลบรารีชนิด

ทั้งพารามิเตอร์ไฟล์หรือพารามิเตอร์ UUID เป็นสิ่งจำเป็น

version ไม่จำเป็น. ใช้สำหรับการเลือกรุ่น ถ้ารุ่นที่ร้องขอไม่พบแล้วรุ่นล่าสุดถูกนำมาใช้ lcid ไม่จำเป็น. ระบุสถานที่ที่จะใช้สำหรับไลบรารีชนิด

ค่าความผิดพลาด

เซิร์ฟเวอร์สามารถกลับมาเป็นหนึ่งในข้อความผิดพลาดต่อไปนี้:

รหัสข้อผิดพลาด ลักษณะ
ASP 0222 ประเภทไม่ถูกต้องสเปห้องสมุด
ASP 0223 ไม่พบไลบรารีชนิด
ASP 0224 ไลบรารีชนิดไม่สามารถโหลดได้
ASP 0225 ไลบรารีชนิดไม่สามารถห่อ

Note: แท็กเมตาสามารถปรากฏที่ใดก็ได้ในแฟ้ม Global.asa (both inside and outside <script> tags) แต่ก็จะแนะนำว่าแท็กเมตาปรากฏอยู่ด้านบนของแฟ้ม Global.asa


ข้อ จำกัด

ข้อ จำกัด ในสิ่งที่คุณสามารถรวมในแฟ้ม Global.asa:

  • คุณไม่สามารถแสดงข้อความที่เขียนในแฟ้ม Global.asa ไฟล์นี้ไม่สามารถแสดงข้อมูล
  • คุณสามารถใช้เซิร์ฟเวอร์และการประยุกต์ใช้วัตถุใน Application_OnStart และ Application_OnEnd ซับรูทีน ในการย่อย Session_OnEnd คุณสามารถใช้เซิร์ฟเวอร์แอพลิเคชันวัตถุและเซสชัน ในการย่อย Session_OnStart คุณสามารถใช้วัตถุในตัวใด ๆ

วิธีการใช้โปรแกรมย่อย

Global.asa มักจะถูกใช้ในการเริ่มต้นตัวแปร

ตัวอย่างด้านล่างแสดงวิธีการตรวจสอบเวลาที่แน่นอนที่ผู้เข้าชมครั้งแรกที่มาถึงบนเว็บไซต์ เวลาที่จะเก็บไว้ในตัวแปรเซสชันที่มีชื่อว่า "started" และความคุ้มค่าของ "started" ตัวแปรสามารถเข้าถึงได้จากเพจ ASP ใด ๆ ในการสมัคร:

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

Global.asa ยังสามารถใช้ในการควบคุมการเข้าถึงหน้า

ตัวอย่างด้านล่างนี้แสดงให้เห็นว่าการเปลี่ยนเส้นทางผู้เข้าชมทุกใหม่ไปยังหน้าอื่นในกรณีนี้ไปยังหน้าเว็บที่เรียกว่า "newpage.asp" :

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

และคุณสามารถรวมถึงฟังก์ชั่นในแฟ้ม Global.asa

ในตัวอย่างด้านล่าง subroutine Application_OnStart เกิดขึ้นเมื่อเว็บเซิร์ฟเวอร์เริ่มต้น จากนั้นย่อย Application_OnStart เรียกย่อยอีกคนหนึ่งชื่อ "getcustomers" "getcustomers" subroutine เปิดฐานข้อมูลและดึงชุดบันทึกจาก "customers" ตาราง บันทึกชุดได้รับมอบหมายให้อาร์เรย์ที่สามารถเข้าถึงได้จากหน้า ASP ใด ๆ โดยไม่ต้องสอบถามฐานข้อมูล:

<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

ในตัวอย่างนี้เราจะสร้างไฟล์ Global.asa ที่นับจำนวนผู้เข้าชมในปัจจุบัน

  • Application_OnStart ชุดแอพลิเคชันตัวแปร "visitors" 0 เมื่อเซิร์ฟเวอร์เริ่มต้น
  • Session_OnStart ย่อยเพิ่มหนึ่งไปยังตัวแปร "visitors" ทุกครั้งที่มีผู้เข้าชมใหม่มาถึง
  • Session_OnEnd ย่อยลบจาก "visitors" ทุกครั้งที่ย่อยนี้จะถูกเรียก

แฟ้ม 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>

ในการแสดงจำนวนผู้เข้าชมในปัจจุบันในแฟ้มของ ASP:

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