نمایش افراد آنلاین سایت در طراحی وب

( زبان برنامه نویسی VB  در طراحی وب)

مرحله ۱ :
به منوی فایل ها یا همون Solution Explorer رفته و کلیک راست کرده ، و قسمت Add New Item رو انتخاب کنید . از صفحه ای که باز شد ( ردیف وسط ) گزینه ی Golbal Applecation Class را انتخاب کنید .
نام این Item را به طور پیش فرض Golbal.aspx در نظر میگیرد ، کلید ADD را کلیک کنید تا پنجره بسته شده و فایل Golbal.aspx به پروژه اضافه شود.

مرحله ۲ :
بعد از اضافه شدن ، فایل به طور خودکار باز میشود و Source هایی که نوشته شده است توضیح خواهم داد .

کد:
<%@ApplicationLanguage=”VB” %>
<scriptrunat=”server”>
Sub Application_Start(ByVal sender AsObject, ByVal e As EventArgs)
‘ Code that runs on application startup
EndSub
Sub Application_End(ByVal sender AsObject, ByVal e As EventArgs)
‘ Code that runs on application shutdown
EndSub
Sub Application_Error(ByVal sender AsObject, ByVal e As EventArgs)
‘ Code that runs when an unhandled error occurs
EndSub
Sub Session_Start(ByVal sender AsObject, ByVal e As EventArgs)
‘ Code that runs when a new session is started
EndSub
Sub Session_End(ByVal sender AsObject, ByVal e As EventArgs)
‘ Code that runs when a session ends.
‘ Note: The Session_End event is raised only when the sessionstate mode
‘ is set to InProc in the Web.config file. If session mode is set to StateServer
‘ or SQLServer, the event is not raised.
EndSub
</script>
خب ما با این ۳ قسمت کار داریم :
Application_Start یعنی رمانی که پرژه برای اولین بار بر روی سرور اجرا میشود .
Session_Start یعنی زمانی که یه کاربر وارد میشود
Session_End یعنی زمانی که یه کاربر خارج میشود

مرحله ۳ :
قسمت های گفته شده رو به این کد هایی که می نویسم تغییر دهید :
۱)
کد:

Sub Application_Start(ByVal sender AsObject, ByVal e As EventArgs)
Application(”NumUserOnline”) = 0
EndSub
2)
کد:
Sub Session_Start(ByVal sender AsObject, ByVal e As EventArgs)
Session.Timeout = 20
Application.Lock()
Application(”NumUserOnline”) = Application(”NumUserOnline”) + 1
Application.UnLock()
EndSub
3)
کد:
Sub Session_End(ByVal sender AsObject, ByVal e As EventArgs)
Application.Lock()
Application(”NumUserOnline”) = Application(”NumUserOnline”) - 1
Application.UnLock()
EndSub
توضیح :
Session.Timeout = 20 یعنی بعد از ۲۰ دقیقه این فعالیت انجام شود .
بقیه ی کد ها کاملا واضح هستند !

نکته : این فایل Golbal همانند یک مرجع است و می شود از هر کجایی که خواستیم صدایش کنیم ، مثل کلاس ها …

مرحله ۴ و آخر :
مثلا میخوایم از فایل Defult.aspx یا هر فایل دیگری ، این خواصیت را صدا بزنیم .
روی فایل دابل کلیک کنید تا باز شود .
پایین صفحه سمت چپ دو قسمت وجود دارد Source و Design … کلید Source رو کلیک کنید تا وارد صفحه ی کد ( شبیه به HTML ) شوید .
حالا این عبارت را بین تگ body کپی کنید :

کد:
Online : <%Response.Write(Application(”NumUserOnline”)) %> User
در واقع به صورت دقیق تر این کد را باید اینطوری وارد کرد :
کد:
<body>
<formid=”Form1″runat=”server”>

Online : <%Response.Write(Application(”NumUserOnline”)) %> User
</form>
</body>
خب حالا برنامه رو اجرا کنید ( F5 )
و اگه این برنامه بره تو اینترنت کاربرهای آنلاین سایت شما را نمایش خواهد داد .

توجه ۱ : دقت کنید ، وقتی شما پرژه ی رو تو کامپوتر خودتون اجرا میکنید ، کامپیوتر شما تبدیل میشه به یه سرور مجازی و پایین صفحه کنار ساعت که گذینه اضافه میشه …
اگه بعد از خاتمه ی برنامه این قسمت Stop بشه در واقع مثل اینه که سرور Reset شده و همونطور که تو قسمت Application_Start تعریف کردیم مقدار ابتدایی برای شروع مجدد سرور رو برابر صفر قرار بده و مقدار ما هم برابر صهر میشه …
توجه ۲ : هر کاربری بعد از ۲۰ دقیقه از سیستم خارج میشه و رویه ی END اجرا میشه و یکی از شمارنده ی شما کم میشه ! سئوالی که پیش میاد اینه که اگه هنوز تو سایت باشه و یه مطلب طولانی رو میخونه اونوقت چی ؟ جواب : اگه کاری کنه که درخواستی به سرور ارسال شه باز شناسایی میشه و یکی به متغیرتون اضافه میشه .

نظر بگذاريد