2014-10-24 3 views
0

Мне нужно, чтобы все активные пользователи вошли на мой сайт. Я знаю, что могу взять моего зарегистрированного пользователя:Как я могу получить всех зарегистрированных пользователей на моем сайте?

var currentUser = manager.FindById(User.Identity.GetUserId()); 

но как я могу взять все?

+1

Высокий уровень: вы можете использовать SignalR, например, или сохранить активных пользователей в объекте приложения asp.net. – gsharp

ответ

2

ASP.NET membership has a feature that works for FormsAuthentication. В противном случае вам нужно записать в постоянный магазин где-то самую последнюю дату активности &, затем запросить эту таблицу для всех пользователей, работающих в определенном окне. Веб-приложение является апатридом, поэтому «активно регистрируется» in - это вымышленная абстракция, которую мы представляем по протоколу без гражданства. По завершении запроса сервер забыл о вас. Another hack might be to count how many sessions are still alive if you are using sql session store.

-2

Создайте поле в пользовательской таблице с именем «IsLogin». Set IsLogin = 0 при регистрации пользователя. Update поле всякий раз, когда пользователь вошел в систему, т.е. IsLogin = 1

Теперь для того, чтобы получить все анонимов пользователей: Проверить все записи в таблице пользователей, чьи у IsLogin = 1 Ваш выбор сохранить результат в пользовательский объект или просто хранить идентификаторы или имена тех пользователей, которые вошли в систему Следовательно, вы сохраняете результат в массиве или любой коллекции (т.е. List) Теперь вы можете легко перечислить список с начала и до конца, чтобы получить доступ к всем зарегистрированным пользователям.

Я использовал этот метод, это самый рекомендуемый способ.

+0

Я не отметил вас, но что происходит, когда пользователь закрывает браузер, их системные сбои, они теряют интернет-соединение? Я не думаю, что это решение очень надежное. –