بدست آوردن افراد آنلاین در سایت
سه شنبه 27 آبان 1393در این مقاله با نحوه بدست آوردن تعداد افراد آنلاین در سایت آشنا خواهید شد
ابتدا یک پروزه ایجاد میکنیم
سپس رو نام پروژه کلیک راست گزینه Add و بعد Add News Item را میزنیم و یک فایل Global Application Classs اضافه میکنیم
Global.asax
در رویداد Application_Start یک کالکشن Application با نام TotalOnlineUsers و مقدار 0 ایجاد میکنیم
void Application_Start(object sender, EventArgs e) { // Code that runs on application startup Application["TotalOnlineUsers"] = 0; }
سپس در رویداد Session_Start که به اضای ورود کاربران فرذاخوانی میشود یک واحد به TotalOnlineUsers اضافه میکنیم
void Session_Start(object sender, EventArgs e) { // Code that runs when a new session is started Application.Lock(); Application["TotalOnlineUsers"] = (int)Application["TotalOnlineUsers"] + 1; Application.UnLock(); }
در رویداد Session_End یک واحد کم میکنیم
void Session_End(object sender, EventArgs e) { // 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. Application.Lock(); Application["TotalOnlineUsers"] = (int)Application["TotalOnlineUsers"] - 1; Application.UnLock(); }
در Web.Config ستس کردن کوکی برای سشن را غیر فعال میکنیم و زمان پیشفرض انقضای سشن را 20 دقیقه قرار میدیم
<system.web> <sessionState mode="InProc" cookieless="false" timeout="20"></sessionState> </system.web>
و سپس نمایش تعداد افراد آنلاین
یک صفحه ایجاد میکنیم
<form id="form1" runat="server"> <div> <p>No. of Online Users:<asp:Label ID="Label1" runat="server" Text="Label" ForeColor="#CC0000"></asp:Label></p> </div> </form>
و در کد و رویداد Load کد زیر را مینویسیم
protected void Page_Load(object sender, EventArgs e) { Label1.Text = Application["TotalOnlineUsers"].ToString(); }
- ASP.net
- 4k بازدید
- 21 تشکر