ในระหว่างการทดลองของฉัน ฉันค้นพบว่าคุณสามารถใช้ตัวจับเวลา (Timer) เพื่อดำเนินการบางอย่างตามกำหนดการใน ASP.NET ได้ นี่อาจเป็นประโยชน์ต่อโปรแกรมเว็บบางโปรแกรมของเรา
ก่อนอื่นมาแนะนำตัวอย่างที่ฉันใช้สำหรับการทดสอบ:
ขั้นแรก ให้กำหนดการจับเวลาในกระบวนการเหตุการณ์ Application_OnStart ใน global.asax รหัสจะเป็นดังนี้:
[VB.NET] global.asax
<%@ นำเข้าเนมสเปซ = "System.Timers" %>
<script runat = "เซิร์ฟเวอร์">
Sub Application_OnStart (ผู้ส่งเป็นวัตถุ e As EventArgs)
'สร้างตัวจับเวลา หน่วย: มิลลิวินาที'
Dim aTimer As New System.Timers.Timer(10000)
' ระบุ Fresher เป็นตัวจัดการเหตุการณ์ที่ผ่านไปของตัวจับเวลา
AddHandler aTimer.Elapsed, AddressOf Fresher
' เมื่อคุณสมบัติ AutoReset เป็นจริง มันจะวนซ้ำทุกครั้งที่ระบุ;
' หากเป็นเท็จ ให้ดำเนินการเพียงครั้งเดียวเท่านั้น
aTimer.AutoReset = จริง
aTimer.Enabled = จริง
' ก่อนอื่นให้ระบุค่าเริ่มต้นสำหรับ Application("TimeStamp")
แอพลิเคชันล็อค()
Application("TimeStamp") = DateTime.Now.ToString()
แอปพลิเคชันปลดล็อค()
สิ้นสุด Sub
Sub Fresher (ผู้ส่งเป็นวัตถุ e As ElapsedEventArgs)
แอพลิเคชันล็อค()
Application("TimeStamp") = DateTime.Now.ToString()
แอปพลิเคชันปลดล็อค()
สิ้นสุดคำบรรยาย
</script>
จากนั้นเราเพียงแค่เขียน test.aspx เพื่อดูค่าของ Application("TimeStamp") รหัสมีดังนี้:
[VB.NET]test.aspx
-
Response.Write (แอปพลิเคชัน ("การประทับเวลา"))
-
< เมตา http-equiv="รีเฟรช" content="3;
url=http://www.cenpok.net">