افراد آنلاین
با عرض سلام و خسته نباشید
میخواستم بپرسم چطوری میشه با Signal R کاری کنم که چند کاربر آنلاین در سایت دارم و اون کاربر ها کیا هستند
ممنون میشم پاسخ بدید
پاسخ ها
محمد اشرافی
سلام
یه هاب میسازید هر شخصی که وارد سایت شد به این هاب متصل میشه و توی متد OnConnected اونو به دیتابیس ( می تونه هر چیزی باشه ) اضافه می کنید و توی متد OnDisconect اونو از دیتابیس حذف می کنید ( عملیات وصل شدن به هاب رو باید توی Layout انجام بدین )
توجه : برای اینکه سرعت این عملیات بالا باشه بهتره از Redis استفاده کنید ولی اگر که فقط یک اپلیکیشن دارید می تونید از InMemoryDataBase هم استفاده کنید و بهترین گزینه هم هست
پوریا شمس
استاد یک سوال در صورت بستن پنجره مرورگر یا قطع شدن اینترنت ، به متد OnDisconnect مراجعه میکنه ؟
محمد اشرافی
بله، به محض اینکه پنجره بسته شه یا اینترنت قطع بشه متد onDisconnect صدا زده میشه
این نمونه پروژه ایه که با دو روش این کار رو انجام داده می تونید ازش استفاده کنید
https://github.com/dotnetzoom/OnlineUsers-Counter-AspNetCore
پوریا شمس
ممنون استاد