asp mvc临时SQL表的唯一用户ID

时间:2013-05-29 15:26:21

标签: c# asp.net-mvc ado.net

我想要做的是为用户提供一个临时数据库表,他们在填写表单时保存这些表(以保存他们在请求之间的更改)。我想知道最好的方法。目前我正在做以下事情:

Random rand = new Random(2000000);


object UserID = Session["TestID"];
if (UserID == null)
{
    // Session["TestID"] = HttpContext.Session.SessionID;
    UserID = rand.Next();
    Session["TestID"] = UserID;
}
else
{
     UserID = Session["TestID"];
}

在数据库中创建具有此UserID的表,但我99%确定这是不好的。有什么建议?感谢。

修改 我只是想将用户对表单所做的更改保存到临时表中,以便他们可以在页面之间来回切换并保留其信息。我认为唯一的方法是为用户创建一个具有唯一ID的表,用于存储临时表单数据,直到他们准备好提交最终版本。这不是在请求之间存储数据的好方法吗?

2 个答案:

答案 0 :(得分:0)

使用GUID。这“几乎”是独一无二的。随机可能导致两次相同的值。

http://msdn.microsoft.com/en-us/library/system.guid.aspx

答案 1 :(得分:0)

每个表的架构是否相同?如果是这样,为什么不为所有用户使用相同的表?您可以使用用户的会话ID作为密钥。