Вопрос по asp.net, c#, roles, asp.net-profiles, asp.net-membership – Роли и профили ASP.NET: лучший способ сделать запрос о коллекции пользователей, которые соответствуют свойству пользовательского профиля?

1

Членство в ASP.NET 2.0, роли и профили - это то, что нужно. API для ролей поддерживает удобные методы, такие как GetAllUsersInRole (& quot; MyNewsletterSubscriber & quot;), который будет возвращать коллекцию людей из & quot; MyNewsletterSubscriber & quot; роль.

Мне интересно, каким может быть лучший способ вернуть коллекцию людей с пользовательскими свойствами профиля ASP.NET. Так, например, я мог бы создать одно свойство настраиваемого профиля с именем IsNewsletter1SubscriptionUserSelectionTextOnly и другое свойство настраиваемого профиля с именем IsNewsletter1UserSelectionMobileOptimized.

Как тогда можно наиболее эффективно запросить что-то похожее на GetAllUsersWithCustomProfileProperty (& quot; IsNewsletter1SubscriptionUserSelectionTextOnly & quot ;, true);

Что касается использования, которое я предполагаю, API вокруг профилей кажется недостаточно развитым - я думаю, что Скотт Гатри упомянул некоторую предстоящую работу над ним в своей речи на Tech Ed 2006, но я не знаю, что было сделано.

Может также случиться так, что я пытаюсь использовать Профили ненадлежащим образом, и было бы лучше хранить весь этот мусор как прямые роли. Не знаю. Мне нравится идея использования ролей или профилей для управления списками, но я не знаю, как лучше всего управлять ими.

Мысли, идея, ответы? Спасибо...

Ваш Ответ

1   ответ
1

Что ж, запросы к профилям - по крайней мере с реализацией SQL по умолчанию - страшны, потому что вы действительно запрашиваете двоичное сериализованное поле, поэтому каждый запрос должен загружать каждую строку в базе данных, десериализовать указанный двоичный файл и затем проверять ответ. Так что не обманывайте и делайте это с помощью LINQ to Objects или чего-то еще, ваш администратор базы данных пристрелит вас.

В любом случае, мое правило заключается в том, что как только вы захотите сделать запрос в профиле, вам лучше реализовать пользовательский поставщик, который можно запрашивать обычным способом. Обычно это становится частью модели предметной области.

Похожие вопросы