نمایش نتایج 1 تا 8 از 8

نام تاپیک: تعداد افراد Online در سایت و تعداد افراد عضو Online

  1. #1

    تعداد افراد Online در سایت و تعداد افراد عضو Online

    با سلام.
    می خواستم بدونم چه طور میشه با شی Application و Session تعداد افراد online غیر عضو و تعداد افراد عضو در سایت رو بدست آورد؟
    با تشکر.

  2. #2
    کاربر دائمی آواتار alireza_s_84
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    اهواز
    پست
    1,191

    نقل قول: تعداد افراد Online در سایت و تعداد افراد عضو Online

    سلام:
    در فایل Global.asa کدهای زیر رو وارد کنید:


    Sub Application_OnStart()
    Application("Online") = 0
    End Sub
    Sub Session_OnStart()
    Application.Lock()
    Application("Online") = Application("Online") + 1
    Application.UnLock()
    End Sub
    Sub Session_OnEnd(ByVal sender As Object, ByVal e As EventArgs)
    Application.Lock()
    Application("Online") = Application("Online") - 1
    Application.UnLock()
    End Sub



    این کدها مربوط به افراد آنلاین در یک وبسایت هستد جهت نمایش باید مقدار Application("Online") را در جایی که میخواهد تعداد اعضای آنلاین نمایش داده شود بکار ببرید برای اعضای آنلاین هم میتوانید از مقدار Session.Count استفاده کنید که تعداد افرادی که لاگین کرده اند را نشان می دهد.(در واقع تعداد Session های موجود در سرور)
    مشکلی بود مطرح کنید راهنمایی می کنم
    موفق باشید

  3. #3

    نقل قول: تعداد افراد Online در سایت و تعداد افراد عضو Online

    سلام.
    ممنون از راهنماییتون.
    من دو شی Application دیگه هم تو برنامم دارم .می خواستم بدونم Application.Lock(); باعث از کار افتادن
    همه Application ها می شه یا فقط همین Application (شمارش اعضا Online) رو Lock میکنه؟
    (دو Application) دیگه برای اتاق Chat room ساختم.

    Application["chatLog"] = "";
    Application["currentTopic"] = "این Topic قابل تغییر است";

    درباره تعداد اعضای عضو Online ،کد :
    lbl.text=session.count.tostring() رو که میدم تعداد کل سشن های سایت رو میده نه کسی که Login کرده.
    من برای Login سشن "userID" رو پر می کنم،چه طور تعداد این سشن رو بشمورم که نتیجه تعداد افراد Online عضو بشه؟
    ممنون.

  4. #4

    نقل قول: تعداد افراد Online در سایت و تعداد افراد عضو Online

    منتظر پاسختون هستم...

  5. #5
    کاربر دائمی آواتار alireza_s_84
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    اهواز
    پست
    1,191

    نقل قول: تعداد افراد Online در سایت و تعداد افراد عضو Online

    سلام دوست عزیز:
    Application.Lock تمام شی Application رو قفل میکنه اما مدت زمان اون اونقدر کوتاه و ناچیزه که قابل چشم پوشیه و مشکلی ایجاد نمیکنه نگران اون نباشید
    دوم اینکه شما یک حلقه بصورت زیر ایجاد کنید و مقدار Session رو چک کنید که خالی نباشه ، اگر نبود یعنی کاربری که لاگین کرده و گرنه کاربر ناشناسه:


    Dim LogedIn AsInteger = 0
    For i = 0 To Session.Count - 1
    If Session(i).ToString <> ""Then
    LogedIn += 1
    EndIf
    Next



    یک راه دیگه اینکه یک متغیر Application تعریف کنید و وقتی کاربر لاگین کرد Username اون کاربر رو توی این متغیر بذارید به همین ترتیب میتونید با خروج کاربر Username رو از متغیر حذف کنید به همین راحتی میتونید هم تعداد اعضای آنلاین رو داشته باشید و هم یوزرنیم هاشون رو.
    باز هم مشکلی بود به ایمیل خبر بدین .
    موفق باشید

  6. #6

    نقل قول: تعداد افراد Online در سایت و تعداد افراد عضو Online

    با سلام
    من هم برای آمار گیری از کاربران آنلاین در Session_OnEnd از تعداد افراد آنلاین یکی کم میکنم.
    این روی سیستم من به صورت لوکال جواب میده اما روی اینترنت از هر 10 تا کاربر که وارد سایت میشن حدودا 4-5 تاشون در هنگام خروج توسط سرور شناسایی میشه.

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

    اگر نظر من درست باشه منابع سرور هم بیش از اندازه اشغال میشه؟؟؟؟
    آیا کسی به این مشکل برخورد کرده؟؟؟
    ضمنا من روی دو هاست مختلف این مشکل رو دارم.

  7. #7
    کاربر دائمی آواتار kashaneh
    تاریخ عضویت
    آبان 1383
    محل زندگی
    در همین نزدیکی
    پست
    537

    نقل قول: تعداد افراد Online در سایت و تعداد افراد عضو Online

    دوست عزیز Session_onEnd تنها زمانی که Session به انتهای عمر خود می رسد اجرا می شود... بنابراین اگر می خواهی زمان Logout این متد اجرا شود این تکه کد را حتما در زمان خروج کاربر هم بنویسید...

    در ضمن اگر کاربر سایت را ببندد (منظور اینکه مرورگر را ببندد یا در نوار آدرس، به سایت دیگری برود)، همان لحظه Session_onEnd اجرا نمی شود و بعد از پایان عمر آن، این متد اجرا می شود...

    نتیجه : اگر توضیح اول که دادم رو روی دکمه خروج کاربران سایتتان (البته اگر ورودی در کار باشد!) اجرا کنید، بخش زیادی از مشکلتان حل می شود... در ضمن زمان عمر Session را در سرور تا حد معقول (حدود 10 دقیقه) می توانید پایین بیاورید

    موفق باشی

  8. #8

    نقل قول: تعداد افراد Online در سایت و تعداد افراد عضو Online

    با تشکر از پاسخ شما؛
    منظور من از کابران آنلاین همان بازدید کنندگان آنلاین هستند که به صورت معمول از سایت بازدید میکنند و log in و log off ندارند وگرنه مشکل حل بود،
    بنده زمان عمر sission را 10 دقیقه قرار داده بودم که بخشی از مشکل را حل کرد اما متاسفانه این موضوع هنوز حل نشده.
    یعنی وقتی کاربر صفحه را میبندد یا به سایت دیگری میرود و یا از اینترنت دیسکانکت میشود sission_onend اجرا نمیشود.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •