بدست آوردن افراد آنلاین در سایت

سه شنبه 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();  
    }  

فایل های ضمیمه

ایمان مدائنی

نویسنده 1299 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید