แสดงผลจำนวนผู้ใช้งานที่กำลังเข้าเวบของ เราในขณะนั้น ๆ (ASP.net Active User)


อัปเดท : 6 มีนาคม พ.ศ.2546 , แสดง : 34,201 , ความคิดเห็น : 2

Active User เป็นการแสดงผลจำนวนผู้ใช้งานที่กำลังเข้าเวบของ เราในขณะนั้น ๆ สำหรับ code อันนี้จะเขียนด้วย ASP.net ซึ่ง โค๊ดโปรแกรมก็มีนิดเดียว โดยจะใช้ไฟล์ หลักอยู่ 2 ไฟล์ คือ Gobal.asax และ activeU.aspx โดยที่ไฟล์ Gobal.asax จะทำหน้าที่เก็บค่าของตัวแปรที่ใช้ ส่วนไฟล์ activeU.aspx ก็จะทำหน้าที่ในการดึงค่าในตัวแปรมาเพื่อแสดงผล สำหรับโค๊ดโปรแกรม ก็ตามด้านล่างเลยครับ
คัดลอกโค๊ดด้านล่างไว้ในไฟล์ Gobal.asax โดยที่ไฟล์ Gobal.asax จะอยู่ที่ Directory นอกสุดเท่านั้น

Gobal.asax

<script language="VB" runat="Server">

Sub Application_OnStart(Sender as Object, E AS EventArgs)
   application("user_sessions") = 0
End Sub
 

Sub Session_OnStart(Sender as Object, E AS EventArgs)
   application.lock()
   application("user_sessions") = application("user_sessions") + 1
   application.unlock()

End Sub

Sub Session_OnEnd(Sender as Object, E AS EventArgs)
    application.lock()
    application("user_sessions") = application("user_sessions") - 1
   application.unlock()

End Sub

</script>


ขั้นตอนต่อไปก็สร้างไฟล์ aspx (สมมุติชื่อ activeU.aspx) ขึ้นมาแล้วคัดลอกโค๊ดด้านล่างนำไปวาง

active_user.aspx

<%@ Control Language="VB" %>
<script runat="server">
   Sub Page_Load(ByVal sender As [[sys]]tem.Object, ByVal e As [[sys]]tem.EventArgs) Handles MyBase.Load
      visitors.text = (Application("user_sessions").ToString())
   End Sub
</script>

<Html><Body>
Active User [<asp:label id="visitors" runat="server" />]
</Body></Html>

แค่นี้ก็เรียบร้อยแล้วครับ ตอนจะเรียกใช้งานก็เรียกตามปรกติ เช่น http://localhost/Mysite/activeuser.aspx เป็นต้น หรือจะนำ Code ไปแทรกที่ web page หน้าอื่นๆก็ได้นะครับสำหรับ Active User หลักๆ ก็คงมีแค่นี้ล่ะครับ


ผู้เขียน/อ้างอิง : จักรกฤษณ์ แร่ทอง

ซอร์สโค๊ด/โอเพนซอร์ส

ความคิดเห็น/แนะนำ/ติชม/อื่นๆ

  • หนู [08 ก.พ. 2549 , 09:41 PM]

    ต้องการ desing lan โดยใช้ Repeater,Bridge,Router ทำไงคะ

  • อาภัสรา กิรัมย์ [19 ส.ค. 2551 , 12:29 PM]

    ก็ดีนะ