#asp.net #search #asp.net-membership
#asp.net #Поиск #asp.net-членство
Вопрос:
Я не нашел ни одного полного поиска по ASP.NET Членство. например, я хочу выполнить поиск пользователя по следующим данным: имя пользователя, Дата создания, дата последней активности, Дата последнего входа в систему, электронная почта, IsUserOnline, IsApproved , IsLockedOut , Имеет эти роли, Не имеет этих ролей . должен ли я загружать всех пользователей в оперативную память и фильтровать их на стороне сервера? этот способ имеет низкую производительность. существует ли что-нибудь лучше?
Ответ №1:
Если платформа членства не предоставляет полную функциональность поиска, которая вам нужна, вы могли бы реализовать пользовательский поставщик членства, который предоставляет конкретную функциональность, которая вам нужна.
Если это слишком много работы, тогда просто запустите некоторые хранимые процедуры для самостоятельного запроса к базе данных и вызывайте их при необходимости. Это не так аккуратно, как хранить все в одном месте, но схема довольно проста.
Ответ №2:
Membership
не предоставил функции поиска для той, которую вы запрашиваете.
Вы можете использовать Membership.FindUsersByName
, Membership.GetUserNameByEmail
и некоторые другие, которые вы можете найти в msdn, но не другие.
Если у вас мало пользователей, которые хранятся в вашем файле web.config, то просто загрузите их всех и выполните поиск, как вы говорите.
С другой стороны, если вы используете базу данных, то вы можете подключиться к базе данных и получить запрашиваемую информацию с помощью простого sql-запроса.
Комментарии:
1. Итак, я напишу хранимую процедуру для моего пользовательского поиска, но существует ли какая-либо письменная информация?
2. @shaahin, может быть, если ты погуглишь, ты сможешь это найти, но на самом деле это так просто, например: ВЫБЕРИТЕ * ИЗ aspnet_Membership, ГДЕ applicationId=’YourAppIdForThis’ И IsLockedOut= 1
3. @shaahin Когда вы создаете базу данных, вы видите таблицы, они действительно простые.