1

ASP.NET 2.0 成员资格、角色和配置文件是猫的喵喵叫。角色 API 支持方便的方法,例如 GetAllUsersInRole("MyNewsletterSubscriber"),它将返回“MyNewsletterSubscriber”角色中的人员集合。

我想知道返回具有自定义 ASP.NET 配置文件属性的人员集合的最佳方式可能是什么。例如,我可能会创建一个名为 IsNewsletter1SubscriptionUserSelectionTextOnly 的自定义配置文件属性和另一个名为 IsNewsletter1UserSelectionMobileOptimized 的自定义配置文件属性。

那么,我怎样才能最有效地查询类似于 GetAllUsersWithCustomProfileProperty("IsNewsletter1SubscriptionUserSelectionTextOnly", true);

对于我所设想的用途,围绕 Profiles 的 API 似乎不发达——我认为 Scott Guthrie 在他在 Tech Ed 2006 的演讲中提到了一些即将开展的工作,但我不知道已经做了什么。

也可能是我试图不恰当地使用配置文件,最好将所有这些垃圾存储为直接角色。不知道。我喜欢使用角色或配置文件进行列表管理的想法,但我不知道管理它的最简洁方式。

想法,想法,答案?谢谢...

4

1 回答 1

1

好吧,查询配置文件(至少使用默认的 SQL 实现)是很可怕的,因为您实际上是在查询二进制序列化字段,因此每个查询都需要加载数据库中的每一行,反序列化所述二进制文件,然后检查答案。所以不要作弊,用 LINQ to Objects 或其他东西来做,你的 DBA 会开枪的。

无论如何,我的规则是,一旦您想查询个人资料,您最好实现一个可以以正常方式查询的自定义提供程序。通常这最终成为域模型的一部分。

于 2009-06-19T19:53:37.077 回答