批量创建用户帐户到生产环境中的asp.net mvc3成员资格表

时间:2012-08-27 10:42:25

标签: asp.net-mvc membership import-from-csv

在开发环境中,我使用Visual Studio中的ASP.NET配置工具创建一些用户进行测试。随着我越来越接近QA和Production,我想知道在应用程序部署后自动创建大量(1000)用户的最佳方式是什么。

我有一个包含所有用户名和密码,角色等的csv。我不想利用内置的加密和密码保护安全性。我不想手动“注册”所有这些用户。 我只是不确定这是否是我可以做的(或指示数据库管理员为我执行)。

有谁知道实现这个目标的方法?

非常感谢任何协助。

此致

2 个答案:

答案 0 :(得分:3)

最简单的解决方案是设置“CSV上传”表单。 CSV将由循环中调用Membership.CreateUser的MVC操作处理。

可能这样做的表现还不错。

答案 1 :(得分:1)

我知道有几种方法可以解决ASP.NET站点上的批处理问题。

由于ASP.NET网站的应用程序池可以循环使用,因此批处理通常在外部进程上完成。

Windows服务

一种方法是单独的Windows服务,它获取新的excel并将数据泵入,并且有一个计时器可以继续运行。我经常看到这种情况,这很痛苦,因为它需要额外的工作才能轻松部署。 Update ASP.Net membership from windows service

<强> CacheItem

第二种方法是使用CacheItems及其过期计时器进行批处理,你要做的是用一个长定时器定义一个缓存对象,当它到期并调用Removed-callback时,你就可以进行数据库工作了。这很好,因为它与您的ASP.NET站点一起部署,并且您将代码放在一个逻辑位置。 http://blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/

工作流基础

第三种方式,是制作工作流基础服务。该服务从您的ASP.NET站点调用,该站点实例化一个WF服务,使一些数据库与您的Excel文件一起工作,然后它进入一个延迟一个月的while循环。这很好,因为它与ASP.NET应用程序池的生命周期无关 - 您可以获得更多控制权,并且可以将此逻辑分成不同的IIS托管WCF服务。 http://msdn.microsoft.com/en-us/library/dd489452.aspx

与数据集成总是很痛苦,请记住,在部署时为您提供最少的工作和最少失败的解决方案是最佳解决方案。