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

در این مقاله با نحوه بدست آوردن تعداد افراد آنلاین در سایت آشنا خواهید شد

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

آکادمی برنامه نویسان ، برگزار کننده دوره های آموزش برنامه نویسی با استفاده از اساتید مجرب و حرفه ای در سراسر ایران .

[ جهت مشاهده دوره های درحال ثبت نام کلیک کنید ]

ارائه مدارک معتبر آموزشی و ورود به بازار کار .

ابتدا یک پروزه ایجاد میکنیم

سپس رو نام پروژه کلیک راست گزینه 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();  
    }  

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