PDA

View Full Version : سوال: شمارش تعداد کاربرانonline



kimiyaaa
یک شنبه 10 شهریور 1387, 02:32 صبح
سلام و خسته نباشید
جطوری میتونم این خصوصیت رو به صفحم اضاضه کنم؟؟؟؟من کدی دارم که هر بار اکسپلورر رو باز میکنم یکی به شمارنده اضافه میکنه در حالیکه نباید این طوری باشه!!

nextplus
یک شنبه 10 شهریور 1387, 13:41 عصر
خب هیچ مشکلی وجود نداره ، چون session های که توسط کد شما تولید می شه مسلما timeout هم داره و مقدار پیش فرضش هم 10 دقیقه است ، و شما هر دفعه که اکسپلورر رو باز می کنید یک session جدید روی سرور برای شما ایجاد می شه و اگه در حدود ده دقیقه صبر کنید و refresh کنید متوجه میشید که از تعداد کاربران آنلاینتون کم میشه.

milade
دوشنبه 11 شهریور 1387, 11:06 صبح
اگه در حدود ده دقیقه صبر کنید و refresh کنید متوجه میشید که از تعداد کاربران آنلاینتون کم میشه.
که این کد شما دقیق نمی شه!!!!
بای

kimiyaaa
دوشنبه 11 شهریور 1387, 14:01 عصر
برای شمارش تعداد کاربران آن لاین چه کدی باید بنویسم؟

nextplus
دوشنبه 11 شهریور 1387, 18:54 عصر
که این کد شما دقیق نمی شه!!!!
بای
این به خاطر اینه که سرور تا session timeout نشه رویداد session_end که در اونجا باید از کاربران آنلاین کم کنه اجرا نمیشه.

nextplus
دوشنبه 11 شهریور 1387, 19:07 عصر
برای شمارش تعداد کاربران آن لاین چه کدی باید بنویسم؟

فایل Global.asa رو تو ریشه سایت با محتوی زیر ایجاد کن
<script language="vbscript" runat="server">
sub Application_OnStart
'some code
end
subsub Application_OnEnd
'some code
end
subsub Session_OnStart
'some code
application("uonline")=application("uonline")+1
end subsub
Session_OnEnd
application("uonline")=application("uonline")-1
end
sub
</script>
و هر کجا که خاستی کاربران آنلاین رو نشون بدی متغیر application("uonline") رو چاپ کن :لبخند:

kimiyaaa
دوشنبه 18 شهریور 1387, 14:17 عصر
کد من هم همینه منتها مشکل در اینه که وقتی می خوام تست کنم و دو تا اکسپلور باز میکنم نشان میده 2 نفر و وقتی یکی از اکسپلورر ها را میبندم و اون یکی رو رفرش میکنم بازم نشون میده 2 نفر در حالیکه باید 1 نفر شده باشه ،همون طور که گفتید شاید مشکل از session_timeout باشه که پیش فرض 20 دقیقه س، به نظر شماچطور میشه ان مشکل رو برطرف کرد تا با بسته شدن اکسپلورر یکی کم کنه و session_timeout رو در نظر نگیره؟

kashaneh
سه شنبه 19 شهریور 1387, 22:59 عصر
دوست عزیز مقدار مدت زمان اعتبار یک جلسه (Session) در ASP، با دستور Session.Timeout = n تعیین می شود که n بر حسب دقیقه می تواند از رنج 1 تا 1440 را در بربگیرد. یعنی کمترین زمان 1 دقیقه و بیشترین زمان ممکن 1440 دقیقه خواهد بود.
مطمئنا هرگونه تلاشی برای کاهش یا افزایش این میزان بی نتیجه خواهد بود مگر در حالت استفاده از Session.Abandon که همه مقادیر Session برای کاربر فعلی را پاک خواهد کرد ولی باز چون منظور نظر شما بستن اینترنت اکسپلورر مییباشد، متاسفانه در آن زمان نمی توان تعیین کرد که این قطعه کد اجرا شود.