بدست آوردن آمار سایت در Asp.Net
یکشنبه 17 آذر 1392امروز میخواهیم با هم آمار سایتمون رو بدست بیاریم <br/> شامل : افراد آنلاین،بازدید امروز ،بازدید دیروز،بازدید کل ،آی پی کاربر مرورگر کاربر و سیستم عامل کاربر
سلام دوستان
امروز میخواهیم با هم آمار سایتمون رو بدست بیاریم
شامل :
افراد آنلاین
بازدید امروز
بازدید دیروز
بازدید کل
آی پی کاربر
مرورگر کاربر
و سیستم عامل کاربر
خب اول با افراد آنلاین شروع میکنیم
برای ساخت افراد آنلاین از Global Application Class استفاده خواهیم کرد Global.asax
در رویداد Application_Start یک کالکشن عمومی از جنس Application ایجاد میکنیم و مقدار 0 را داخل آن قرار میدهیم
سپس در رویداد Session_Start زمانی که کاربر وارد سایت میشود یک واحد به کالکشن OnlineUsers اضافه میکنیم
و در رویداد Session_End زمانی که کاربر سایت رو ترک میکنه یک واحد کم میکنیم
خب در اینجا با مشکلی روبرو میشویم
Session مدت 20 دقیقه زمان داره و تا زمانی که این زمان تموم نشه از افراد آنلاین کم نخواهد شد
برای همین صفحه ای ساختیم با نام LogOut.aspx بدون هیچ طراحی و فقط در رویداد Page_Load کد زیر را نوشتیم
و در تگ Head مستر پیج اسکریپت زیر را قرار دادیم تا به محض بسته شدن مرورگر از افراد آنلاین کسر شود
خب برای بدست آوردن آی پی کابر از کد زیر استفاده کردیم
کد بالا فقط روی هاست کار میکنه و روی لوکال عدد 1 رو برمیگردونه
برای بدست آوردن مرورگر کاربر و سیستم عامل از کتابخانه HttpBrowserCapabilities استفاده کردیم
کتابخانه HttpBrowserCapabilities توابع زیادی داره
و حالا بازدید سایت
در بانک اطلاعاتی دیتابیسی با نامExample_States ایجاد کردیم و یک جدول با نامStateSite
برای ایجاد بانک اطلاعاتی یک دیتابیس با نام Example_States ایجاد کنید و اسکرپت زیر را روی آن اجرا کنید
خب برای تمیزی کد یک کلاس ساختیم با نام StateSite.cs که کدهای بازدید سایت در این کلاس قرار دارند
متد اول CheckDate چک میکنه آیا برای امروز بازدیدی در بانک ثبت شده است یا نه یک خروجی از جنس bool بر میگردونه
متد بعدی SeeSite که با استفاده از متد اول چک میکنه اگر بازدید ثبت شده بود یک بازدید به آن اضافه میکنه و اگر ثبت نشده بود یک بازدید جدید ثبت میکنه
و اما متد آخر لیست بازدید را بر میگردونه از جنس DataSet
و به کوئری دقت کنید 3 کوئری اجرا خواهد شد
و برای نمایش در لیبل ها از کد زیر استفاده کردیم
برای اضافه کردن آمار سایت هم متد زیر را در رویداد Page_Load مسترپیج فراخوانی کردیم
ہ
خب امیدوارم خوشتون اومده باشه
نمونه ضمیمه شده
موفق و پیروز باشید
- ASP.net
- 31k بازدید
- 52 تشکر