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

Asp.net mvc 在生产环境中批量创建asp.net mvc3成员资格表的用户帐户,asp.net-mvc,membership,import-from-csv,Asp.net Mvc,Membership,Import From Csv,在开发环境中,我使用Visual Studio中的ASP.NET配置工具创建一些用户进行测试。随着我越来越接近QA和生产,我想知道在应用程序部署之后,自动化创建大量1000个用户的最佳方式是什么 我有一个包含所有用户名、密码、角色等的csv,我不想利用内置的加密和密码加密安全性。我不想手动注册所有这些用户。 我只是不确定这是否是我可以做的事情,或者指示db管理员为我执行 有人知道实现这一目标的方法吗 如蒙协助,将不胜感激 关于我知道有几种方法可以解决ASP.NET站点上的批处理问题 由于ASP.

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

我有一个包含所有用户名、密码、角色等的csv,我不想利用内置的加密和密码加密安全性。我不想手动注册所有这些用户。 我只是不确定这是否是我可以做的事情,或者指示db管理员为我执行

有人知道实现这一目标的方法吗

如蒙协助,将不胜感激


关于

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

由于ASP.NET站点的应用程序池回收方式不可靠,批处理通常在外部进程上完成

Windows服务

一种方法是一个单独的windows服务,它获取新的excel并将数据输入,并且有一个不断运行的计时器。我经常使用它,这是一件非常痛苦的事情,因为它需要额外的工作才能使它易于部署。

缓存项

第二种方法是使用CacheItems及其过期计时器进行批处理,您要做的是定义一个具有长计时器的缓存对象,当该对象过期并调用移除的回调时,您就可以执行数据库工作。这很好,因为它与您的ASP.NET站点一起部署,并且您的代码位于一个逻辑位置。

工作流基础

第三种方式,就是做一个工作流基础服务。该服务从您的ASP.NET站点得到一个调用,该站点实例化了一个WF服务,该服务对您的excel文件执行一些db操作,然后它进入一个while循环,延迟一个月。这很好,因为它与ASP.NET应用程序池的生命周期无关—您可以获得更多的控制权,并且可以将此逻辑分离到不同的IIS托管WCF服务中。


尽管与数据集成总是一件痛苦的事情,但请记住,在部署时为您提供最少工作和最少失败机会的解决方案是最好的解决方案。

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

由于ASP.NET站点的应用程序池回收方式不可靠,批处理通常在外部进程上完成

Windows服务

一种方法是一个单独的windows服务,它获取新的excel并将数据输入,并且有一个不断运行的计时器。我经常使用它,这是一件非常痛苦的事情,因为它需要额外的工作才能使它易于部署。

缓存项

第二种方法是使用CacheItems及其过期计时器进行批处理,您要做的是定义一个具有长计时器的缓存对象,当该对象过期并调用移除的回调时,您就可以执行数据库工作。这很好,因为它与您的ASP.NET站点一起部署,并且您的代码位于一个逻辑位置。

工作流基础

第三种方式,就是做一个工作流基础服务。该服务从您的ASP.NET站点得到一个调用,该站点实例化了一个WF服务,该服务对您的excel文件执行一些db操作,然后它进入一个while循环,延迟一个月。这很好,因为它与ASP.NET应用程序池的生命周期无关—您可以获得更多的控制权,并且可以将此逻辑分离到不同的IIS托管WCF服务中。


尽管与数据集成总是一件痛苦的事情,但请记住,在部署时为您提供最少工作和最少失败机会的解决方案是最好的解决方案。

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


也许,它的性能已经足够好了。

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


可能,它的性能已经足够好了。

我可能会制作一个powershell脚本或一个小型控制台应用程序来解析excel并将其输入数据库,然后将其删除。如果在你的控制台应用程序中,你只是先用EF数据库添加你的数据库,然后在几秒钟内你就把它排序好了,然后就可以把这些东西放进去了。您还可以检查大多数具有excel文件导入功能的数据库,因此您可以直接执行此操作。谢谢你的评论。我一直在使用aspnet_regsql.exe在服务器上生成数据库。我想我可以写一些东西来读取csv并自己调用register方法。我只是想知道,对于这类事情,是否有一个最佳实践或完善的方法。问题:你为什么想要自动化一个你只需要完成的任务
是一次,还是excel工作表数据总是需要一次又一次地部署?谢谢Lari,我读了你的原始链接。问题是,我希望调用某些成员方法。我不想简单地从csv直接写入SQL表。我想打电话给Membership.CreateUser.Yeah,我将每月更新此成员资格表。新用户/删除用户/修改现有用户等。我可能会制作一个powershell脚本或一个小型控制台应用程序来解析excel并将其输入数据库,然后将其丢弃。如果在你的控制台应用程序中,你只是先用EF数据库添加你的数据库,然后在几秒钟内你就把它排序好了,然后就可以把这些东西放进去了。您还可以检查大多数具有excel文件导入功能的数据库,因此您可以直接执行此操作。谢谢你的评论。我一直在使用aspnet_regsql.exe在服务器上生成数据库。我想我可以写一些东西来读取csv并自己调用register方法。我只是想知道,对于这类事情,是否有一种最佳实践或成熟的方法。问题:为什么您希望自动化一项只需执行一次的任务?或者excel工作表数据是否需要一次又一次地部署?谢谢Lari,我阅读了您的原始链接。问题是,我希望调用某些成员方法。我不想简单地从csv直接写入SQL表。我想打电话给Membership.CreateUser.Yeah,我将每月更新此成员资格表。新用户/删除用户/修改现有用户等。感谢您的建议和帮助。我决定我可能会选择一些简单的。谢谢你的建议和帮助。我决定我可能会选择一些简单的东西。