2009-06-19 4 views
1

L'appartenance à ASP.NET 2.0, les rôles et les profils sont les miaulements du chat. L'API pour les rôles prend en charge des méthodes pratiques telles que GetAllUsersInRole ("MyNewsletterSubscriber"), qui renvoie une collection de personnes dans le rôle "MyNewsletterSubscriber".Rôles et profils ASP.NET: meilleur moyen d'interroger la collection d'utilisateurs qui correspondent à la propriété de profil personnalisée?

Je me demande quel est le meilleur moyen de renvoyer une collection de personnes avec des propriétés de profil ASP.NET personnalisées. Par exemple, je pourrais créer une propriété de profil personnalisée appelée IsNewsletter1SubscriptionUserSelectionTextOnly et une autre propriété de profil personnalisée appelée IsNewsletter1UserSelectionMobileOptimized. Comment puis-je rechercher plus efficacement quelque chose qui ressemble à GetAllUsersWithCustomProfileProperty ("IsNewsletter1SubscriptionUserSelectionTextOnly", true); Pour l'utilisation que j'envisage, l'API autour des profils semble sous-développée - je pense que Scott Guthrie a mentionné quelques travaux à venir lors de son exposé à Tech Ed 2006, mais je ne sais pas ce qui a été fait.

Il se peut aussi que j'essaie d'utiliser les profils de façon inappropriée, et il serait préférable de stocker tous ces déchets comme des rôles simples. Je ne sais pas J'aime l'idée d'utiliser des rôles ou des profils pour la gestion des listes, mais je ne connais pas la façon la plus simple de la gérer.

Réflexions, idée, réponses? Merci ...

Répondre

1

Eh bien, l'interrogation sur les profils - au moins avec l'implémentation SQL par défaut - est effrayante car vous interrogez vraiment sur un champ sérialisé binaire, donc chaque requête doit charger chaque ligne de la base de données, désérialiser dit binaire, puis vérifier la réponse. Alors ne trichez pas et ne le faites pas avec LINQ to Objects ou quelque chose, votre DBA vous tirera dessus.

De toute façon, ma règle est dès que vous voulez interroger sur le profil, vous feriez mieux de mettre en œuvre un fournisseur personnalisé qui est interrogeable d'une manière normale. Habituellement, cela finit par faire partie du modèle de domaine.

Questions connexes