- 1400/07/06
- 0
- 310
دوره ستارگان asp.net core بخش بازدید
سلام وقت بخیر ببخشید من دانشجوی دوره ستارگان asp.net هستم یه مشکلی داشتم نتونستم قسمت کاربران انلاین که گفتین خودمون باید پیاده سازی کنیم انجام بدم.نمایش کاربران آنلاین سایت
میشه بهم راهنمایی کنین یا کد مرتبط با اونو بهم بدین.
خیلی ممنون
- 1400/07/10
سلام
راه اندازی کاربران آنلاین یکمی کار بره و میشه گفت کمی سخته ولی شدنیه
من راه اندازی کردم و فقط یکم توضیح درباره روش کار میگم و کدها رو خودتون انجام بدین
باید هر درخواستی که به سایت میشه ردیابی بشه و قبل از پاسخ به درخواست باید یه سری موارد کنترل بشن
من توی برنامه ابتدا میام و یک کوکی رو چک میکنم که یک کد یونیک هست و اگر کاربر مورد نظر اون کد رو نداشت یک کوکی براش ست میکنم با یک کد یکنا و مثلا 20 دقیقه اعتبار هم براش تعریف میکنم
بعد یک جدول برای کاربر دارم و یک جدول برای جزئیات کاربر البته یک جدول هم دارم برای ثبت روز که هر روز یک رکورد با کانکت کاربر ایجاد میشه
جدول روز برای اینه که برای امروز کسی مراجعه داشته یا نه و توش یک فیلد هست که تعداد مراجعه در روز و نشون میده پس با هر باری که کاربر به سایت مراجعه میکنه چک میشه اون روز رکورد داره و اگه داره یک کانت بهش اضافه میکنه و اگه نداشت یک رکورد برای اون روز ثبت میشه و کانت 1 قرار میگیره
بعد در جدول دوم کاربر اگر جدید بود یک کد یونیک براش در نظر میگیرم و توی کوکی براش ثبت میکنم و توی جدول دوم اون و ثبت میکنم این جدول به جدول اول که روزها ثبت میشن لینکه و کد اونو میگیره و از طرفی کد یونیک و کد بروزر و کد سیستم عاملش هم باهاش ذخیره میشن
در جدول سوم که به جدول دوم لینک هست مشخصات درخواست کاربر و ثبت میکنم که آی پی آدرسش چیه و از چه آدرسی اومده و به چه آدرسی هدایت میشه و از کدوم کشوره
همه این اطلاعاتی که گفتم در قسمت httpContext.Request. موجوده
حالا کاربر وقتی وارد سیستم میشه این اتفاقها می افته و رکوردها اضافه میشن و اگر بیش از 20 دقیقه گذشت و درخواستی نداد اون کد یونیک پاک میشه و کاربر دیگه آنلاین نیست
یک سری کلاس برای اضافه کردن رکورد ها به جدول و کنترل کردن اینها نیازه که باید نوشته بشه و یک middleware هم نوشته میشه که تمام این کلاسها و کدها رو مدیریت میکنه و به startup اضافه میشه
یکی دیگه از کلاسها برای گزارش گیری استفاده میشه که اطلاعات تعداد کل کاربران و کاربران آنلاین (کاربرانی که مدت زمان 20 دقیقه ای اونها تموم نشده) و کاربران دیروز و یک هفته قبل و ماه قبل و سال و ... استخراج و نمایش داده میشن
گفتم یکم کار میبره و لی شدنیه
امیدوارم یکمی هم شما به وقت بزارید و به کد نویسی توجه کنید و بتونید پیاده سازی کنید تا توانایی های برنامه نویسی رو افزایش بدید
پاسخی برای این باگ ارسال کنید
لطفا کدها را درون قطعه کد ارسال نمایید
برای ارسال پاسخ باید وارد حساب کاربری خود شوید
ورود به حساب کاربری