ASP.NET Membership ..处理大量用户

时间:2012-12-01 18:14:20

标签: c# asp.net asp.net-membership

我的会员资格包含超过30,000个用户。我试图让用户使用他们的个人资料在所有会员用户中查找或搜索,我将通过将所有需要的配置文件数据导入DataTable并开始从中选择来实现这一点,但这里的问题是加载超过30,000个用户并将其配置文件数据放入DataTable需要很长时间 是否有任何类型的存储可以预先加载会员用户,而不是在用户尝试搜索时加载它。

1 个答案:

答案 0 :(得分:0)

您可以只对数据库执行搜索查询,而不是将所有30.000加载到内存中。这将返回更少的行并具有更高的性能。 Membership类有一个FindUsersByName方法,可以返回分页数据。

如果您真的想将所有用户存储到内存中,请查看HttpRuntime.Cache。如果您将所有用户加载到缓存中,则可以使用Linq To Objects查询它们并获得良好的性能。

您可以在Application Autostart事件中填写缓存。然后,在应用程序运行时,将始终加载缓存数据。您可以使用SqlCacheDependency来确保缓存始终正确。