跟踪用户进度而无需登录asp.net mvc

时间:2009-10-05 21:11:56

标签: asp.net-mvc asp.net-mvc-2

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

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

我是否忽略了实现目标的任何问题?您还有哪些其他方法可以在ASP.NET MVC(2)中完成此任务?

2 个答案:

答案 0 :(得分:1)

用户计算机上的持久性cookie会浮现在脑海中。您可以将用户状态存储在数据库中,并将主要密钥存储在cookie中,以便以后识别用户。当然,这种方法有局限性,可能不适用于您的场景。

答案 1 :(得分:1)

当您使用ASP.NET的内置Membershipsystem / Profilesystem时,您描述的场景与匿名用户相当。你可以尝试从那开始。