2009-10-05 70 views
0

我创建了一个网站,它从XML文件加载一个问题池,并为我的用户生成一个随机测试来练习考试。有些测试需要一段时间才能完成,而且他们可能无法一次完成所有测试,所以我希望人们能够稍后回来并在多次会话中完成测试。问题是,我想要做到这一点,而不需要用户通过注册/登录过程。我只是想将随机化练习测试的当前状态存储在某个地方,然后以某种方式回到它并在他们离开的地方继续进行。如果可以避免的话,其他人不能修改其他人的测试也很重要。记录用户进度而不需要登录asp.net mvc

我目前的计划是为每个测试生成一个GUID,将当前状态的序列化XML存储在数据库中,给用户一个唯一的URL返回并要求用户在开始/返回时输入密码一个测试。一旦他们完成了测试,或者一段时间没有任何活动,我会销毁测试以保持数据库的清洁。

我是否忽视了实现目标的任何问题?在ASP.NET MVC(2)中你还有什么其他方法可以完成这个任务?

回答

1

当您使用内置的ASP.NET成员系统/个人档案系统时,您描述的场景与匿名用户相当。你可以尝试从那开始。

+0

这基本上就是我想要的,而不需要编写自定义系统的开销,谢谢您的建议。 – 2009-10-08 13:25:56

1

在用户计算机上存在持久性cookie。您可能会将用户状态存储在数据库中,并在cookie中存储主键,以便稍后识别用户。当然这种方法有局限性,可能不适用于你的情况。