PDA

View Full Version : خبر: مدیریت کاربران Online (دانلود کنید !)



explod_javad
دوشنبه 09 دی 1387, 21:29 عصر
با سلام
پروژه ضمیمه شده برای بدست آوردن کاربران آنلاین میباشد
بعدا سبد خرید نیز به آن اضافه خواهد شد.
(از آموخته های خودم که همه از همین تالار میباشد)
سورس اون بعد از نهایی شدن در اختیار دوستان قرار خواهد گرفت.

m.hamidreza
دوشنبه 09 دی 1387, 23:10 عصر
پروژه ضمیمه شده برای بدست آوردن کاربران آنلاین میباشد

لطف بفرمایید یه مقایسه ای بین محاسبه کاربران آنلاین در ASP.NET (http://barnamenevis.org/forum/showthread.php?t=115928) و dll خودتون انجام بدین و اگه مزایایی داره مطرح کنید.

explod_javad
سه شنبه 10 دی 1387, 00:39 صبح
با سلام
علت اینکه سورس رو نزاشتم فقط بخاطر این بود که میخاستم سبد خرید که با این سورس مچ باشه رو بنویسم و بعد باهم برای دانلود بزارم .
حالا که شما خواستید ، فعلا سورس کاربران آنلاین رو براتون میزارم و هر وقت که سبد خرید آماده شد، توی تاپیک دیگه برای دانلود میزارم.

توی این روش که از کش استفاده میشه اگر یک کاربر بصورت مهمان وارد بشه و بعد لاگین کنه ، نام اون از لیست کاربران مهمان خارج و به لیست کاربران مهمان اضافه میشه.
در مقالاتی که در این رابطه دیدم ، این مسئله رعایت نشده بود و بعد از لاگین ، یک کاربر هم بعنوان مهمان و هم به عنوان عضو مورد شمارش قرار میگرفت
ممکن است از این دست استثناء ها وجود داشته باشد که در حال حاضر من لحاظ نکرده باشم، لطفا خودتون اینو تکمیل کنید و برای دیگران هم در همین تاپیک
بزارین
یکی از فرق های این سورس با سورسی که دوست مون m.hamidreza در لینک بالا معرفی کردند ، همین چیزی هست که در مطلب بالا ذکر کردم.
و برتری دیگر استفاده از کش بجای استفاده از سشن می باشد.چون شسن در حافظه رم سرور ایجاد میشه حال اینکه کش در دیسک سخت سرور ذخیره میشه.محدودیت هم نداره و در سرعت سرور تاثیر زیادی نمیزاره.
من این سورس که m.hamidreza معرفی کرد رو از یکی از سایت ها خارجی دانلود کرده بودم ، در این سورس از تایمر استفاده میشه که نمی دونم آیا مناسب هست یا نه.

باید بررسی شود ، اگر کوکی مرورگر غیر فعال هست ، عملا مدیریت کاربران آنلاین غیر فعال شود. چون بررسی وضعیت کاربران موقعی که ای کوکی غیر فعال هست غیر ممکن هست.میبایست یک پیغام به کاربر داده شود تا کوکی رو فعال کنه.

موفق باشید.

RoostaYeBekr
سه شنبه 10 دی 1387, 16:34 عصر
با سلام
ببین این متد public bool CookieIsEnable ات را دوباره یک نگاه بنداز. به نظرم همیشه دارد فقط یک مقدار برمی گرداند.

بعد یک چیز دیگه : نوشته اید :


Cache.Add("UserOnlineList", dt, null, DateTime.Now.AddMinutes(minut), System.Web.Caching.Cache.NoSlidingExpiration, CacheItemPriority.Default, CloseUser);

من یک جا خوندم که این absoluteExpiration وقتی مفید است که بدانید عنصری در Cache فقط در مدت زمان خاصی معتبر است. ولی پارامتر sliding Expiration وقتی مفید است که بدانید عنصری همیشه معتبر است و حضور آن در cache ضروری است ، ولی در صورت عدم استفاده ، باید حذف شود. با توجه به صورت مسئله ی شما و با توجه به این که معمولا نمایش تعداد کاربران آنلاین ، در همه ی صفحات سایت ، نمایش داده می شود ، به نظرم باید sliding Expiration را مقدار می دادید ، نه absoluteExpiration را ( چون قبلا خوانده بودم که همزمان نمی توان این دو پارامتر را مقداردهی کرد )

بعد اون لینکی هم که m.hamidreza (http://barnamenevis.org/forum/member.php?u=35652)معرفی کرده بود ، از متغیرهای Static استفاده کرده بود ، نه از Session .

explod_javad
سه شنبه 10 دی 1387, 18:25 عصر
مطالعه کن شاید به دردت بخوره.
http://barnamenevis.org/forum/attachment.php?attachmentid=25534&d=1226846341

RoostaYeBekr
سه شنبه 10 دی 1387, 19:22 عصر
مطالعه کن شاید به دردت بخوره.
http://barnamenevis.org/forum/attachment.php?attachmentid=25534&d=1226846341

با سلام
ببین من این فایل pdf ی که گفتید رو دیدم .
توضیحش این بود:


یک AbsoluteExpirationبرای تعيين مدت زمان عمر این متغير که می توان آن را با نوعDateTimeتنظيم نمود ، این عمل در صورتی که دقيقا به تاریخ مورد نظر رسيد دیتا کش را پاک ميکند .
یک SlidingExpiration ميباشد که کار پارامتر با لا با نوع TimeSpan انجام ميدهد و پس از گذشت زمانی که توسط این مقدار تنظيم ميشود دیتا کش را پاک ميکند.


راستش به نظر من ، توی توضیحی که در این فایل pdf داده شده بود ، اصلا تفاوت بین AbsoluteExpiration و SlidingExpiration ، درست درک نمی شود.

و اما چیزی که خودم قبلا گفتم که از یکجا خوندم :


من یک جا خوندم که این absoluteExpiration وقتی مفید است که بدانید عنصری در Cache فقط در مدت زمان خاصی معتبر است. ولی پارامتر sliding Expiration وقتی مفید است که بدانید عنصری همیشه معتبر است و حضور آن در cache ضروری است ، ولی در صورت عدم استفاده ، باید حذف شود. با توجه به صورت مسئله ی شما و با توجه به این که معمولا نمایش تعداد کاربران آنلاین ، در همه ی صفحات سایت ، نمایش داده می شود ، به نظرم باید sliding Expiration را مقدار می دادید ، نه absoluteExpiration را ( چون قبلا خوانده بودم که همزمان نمی توان این دو پارامتر را مقداردهی کرد )

البته نمی خوام بگم که حتما حرف من درست است.

bahar_engineer
یک شنبه 14 تیر 1388, 11:31 صبح
من این dll رو توی c# نوشتم که صفحه مورد نظر من یه یوزر کنترل هست

حالا بخش ارث بری صفحه رو که از یوزرکنترل ارث می برد برداشتم و از dll ارث بری می کنم ارور می ده

چطور باید ارث بری رو انجام بدم؟




using User_Manager;

public partial class menu_middle : User_Manager.User_Manager.Pages
{
protected void Page_Load(object sender, EventArgs e)
{
.
.



این قبلاً اینطوری بود:



public partial class menu_middle : System.Web.UI.UserControl

iman_ad
یک شنبه 14 تیر 1388, 18:19 عصر
سوال اول اینکه چرا code behind مربوط به user control باید از User_Manager.User_Manager.Pages ارث ببره؟؟!!!!
حالا اگه منطقی وجود داره خود کلس User_Manager.User_Manager.Pages باید از System.Web.UI.UserControl ارث ببره
شما باید یک instance از کلس User_Manager.User_Manager.Pages تهیه کنی بعد میتونی متدهای و ... که public استفاده کنی

bahar_engineer
سه شنبه 16 تیر 1388, 10:40 صبح
منظورتونو نمی فهمم ... این فایل dll رو که من به عنوان رفرنس به سایت اضافه می کنم دیگه لزومی نداره توی کدش تغییری بدم... بلکه باید صفحاتی رو که می خوام توشون از این فایل استفاده کنم ، یعنی تعداد کاربران رو بدست بیارم، باید به جای اینکه از System.Web.UI.Page ارث بری بشن از User_Manager.User_Manager.Pages استفاده کنم تا متغیرهای userscount و ... رو بشناسه ... در غیر اینصورت اصلاً اون متغیرها شناخته شده نیستن توی صفحات..

حالا مشکل من اینه که این فایل dll برای صفحات ساخته شده نه برای یوزر کنترل ها . یعنی به شکلی نوشته شده که به راحتی می شه یه صفحه ای اس پی رو از اون به ارث برد ... اما صفحه من یه یوزر کنترله ... برای همین خطا می ده و اجرا نمی شه

حالا اگه ممکنه دوستان واضح تر بگن که من باید چکار کنم چون از جواب های بالا چیزی دستگیرم نشد

به شکل مثال ، قطعه کد و ...
اجرکم عند ا..:لبخند:

explod_javad
سه شنبه 16 تیر 1388, 14:34 عصر
دوست من ، درست شما از یک Web user control استفاده میکی ، اما این یوزر کنترل در یک صفحه aspx لود میشه.پس شما هم میتونی از این کنترل استفاده کنی

یک راه نه چندان مطلوب :
توی سورس این dll ، شما میتونی دستکاری کنی و یک کلاس به ارث برده شده از یوزر کنترل ایجاد که بقیه ی یوزر کنترل ها از اون به ارث ببرند.
اینو گفتم که نه در این مورد خاص ( امار کاربران آنلاین) بلکه در مواقع مورد نیاز از این روش استفاده کنید

bahar_engineer
سه شنبه 16 تیر 1388, 14:57 عصر
ممکنه راهنمایی کنین... آخه من از سورسش استفاده نکردم از dll استفاده کردم چطور تغییرش بدم؟

فقط می دونم که اگه جایی system.web.ui.page بود رو به System.Web.UI.UserControl تغییرش بدم

آیا می تونم از توی dll این تغییراتو اعمال کنم؟

explod_javad
سه شنبه 16 تیر 1388, 17:34 عصر
دوست عزیز ، من دقیقا نمی دنم شما چه کار میخاید بکنید ، دوست من آقای جعفری پور یک پروژه نوشتن که شما میتونید از روشی که در اون برای محاسبه کاربران آنلاین استفاده شده ، بهره بگیرید.
http://www.barnamenevis.org/forum/showthread.php?t=149733

khorsandreza
چهارشنبه 04 آذر 1388, 15:19 عصر
سلام
من در جستجو به اين تايپک برخوردم در يک جا ديدم مدير سايت از در يک فرمي شبه چت ياهو ميتوانست کاربران که به سايت وضل ميشدند و يا ارتباط شان قطع ميشد را بصورت onlineببينه شکل برنامه ظاهر يک گريد بود که در ان نام کاربر و تصويرش ديده ميشد
اگر کاربر ارتباطش قطع ميشد تصوير کمرنگ تصوير زير را ببنيد

dot_net_lover2
شنبه 11 اردیبهشت 1389, 11:19 صبح
خب Session را زماني كه ساخته ميشن id مربوط به كاربران را در اونها قرار داده و بعد كل session ها رو بررسي ميكنه و اينجا تك تك نشون ميده ، حتي خودشم ميتونه هر كدوم را كه بخواهد قطع كند.

reza6966
پنج شنبه 08 مهر 1389, 18:36 عصر
مدیریت کاربران Online (دانلود کنید !)
با سلام
پروژه ضمیمه شده برای بدست آوردن کاربران آنلاین میباشد
بعدا سبد خرید نیز به آن اضافه خواهد شد.
(از آموخته های خودم که همه از همین تالار میباشد)
سورس اون بعد از نهایی شدن در اختیار دوستان قرار خواهد گرفت.
فایل های ضمیمهhttp://barnamenevis.org/forum/images/attach/rar.gifOlineUser.rar‏ (http://barnamenevis.org/forum/attachment.php?attachmentid=26964&d=1230571791) (28.5 کیلوبایت, 687 دیدار)



دوستان من از این کامپوننت تو پروژم استفاده کردم و اما به طور کامل کار نمی کند
و فقط افرادی رو آمارش در اختیار ما قرار می دهد که حتما در صفحه ی آمار بازدیدکنندگان باشد
یعنی افرادی که در سایر صفحات سایت هستند رو به ما نشان می دهد
چرا ؟؟؟ کمکم کنیییییییییییییییییییییید ممنون از همه

explod_javad
سه شنبه 05 بهمن 1389, 23:27 عصر
دوستان من از این کامپوننت تو پروژم استفاده کردم و اما به طور کامل کار نمی کند
و فقط افرادی رو آمارش در اختیار ما قرار می دهد که حتما در صفحه ی آمار بازدیدکنندگان باشد
یعنی افرادی که در سایر صفحات سایت هستند رو به ما نشان می دهد
چرا ؟؟؟ کمکم کنیییییییییییییییییییییید ممنون از همه

با سلام
کمی دیر شده ولی باید در مورد سوال دوست عزیز بگم که پروژه فعلی برای نمایش کاربران آنلان در سایت نوشته شده نه صفحه خاص

jigily
شنبه 30 اردیبهشت 1391, 12:18 عصر
من پروژه اي كه شما خودتان گذاشتيد را اجرا ميكنم كار ميكنه
اما من پروژه خودم با #C يك خطايي ميگيره كه فكر كنم ميگه يك كلاسي كه شما نوشتيد با vb
بايد چكار كنم؟

explod_javad
یک شنبه 31 اردیبهشت 1391, 23:38 عصر
من پروژه اي كه شما خودتان گذاشتيد را اجرا ميكنم كار ميكنه
اما من پروژه خودم با #C يك خطايي ميگيره كه فكر كنم ميگه يك كلاسي كه شما نوشتيد با vb
بايد چكار كنم؟

سلام
دوست من شما پروژه ای که به #C تبدیل کردی بزار تا ببینم مشکل از کجاست .
اینجوری که میگه نمیشه کمکت کرد (یک کلاس که شما نوشتید با vb) ؟!

jigily
چهارشنبه 03 خرداد 1391, 15:15 عصر
http://uplod.ir/9jg699v3hml2/online.zip.htm (http://uplod.ir/9jg699v3hml2/online.zip.htm)
ممنون ميشم بگيد مشكل كجاست