在asp.net mvc3中实现一个关键部分

时间:2012-03-07 10:47:07

标签: asp.net-mvc-3 guid critical-section tempdata

当我不得不在tempdata中备份一些数据并在asp.net mvc3中的后续视图和向导中重用它时,我遇到了这种情况。

由于TempData是一个字典,我不得不使用键值对,以避免混淆和混乱,我只使用GUID作为键,并将所需的模型作为值备份,并将生成的键作为URL中的键传递给在下一步中获取备份数据。

这个问题/缺点是, GUID长度为36个字符。这使得URL真的很大。我相信我所需要的只是一定程度上的唯一性DateTime.Now.Ticks.ToString("X")会给出一个独特的键,永远不会有机会重复,而 15个字符则相对较小。

然而,即使我实现了这一点,获得绝对唯一性的概率也不是0,因为可能同时请求在同一时间点访问它。所以,我需要一个关键部分的设置。

0 个答案:

没有答案