【发布时间】:2013-10-07 15:38:38
【问题描述】:
我有一个存储请求的应用程序。
我在毫秒的时间内收到多个请求。
我正在创建一个唯一 ID,例如
Random _r = new Random();
int n = _r.Next(9);
String.Format("{0:yyyyMMddHHmmss}{1}", DateTime.Now, n.ToString());
但是当多个请求以毫秒为时间跨度时。这个 UniqueID 正在重复。
我用一个唯一的 ID 存储这些请求。但如果请求在毫秒的时间跨度内出现,它会重复
请帮我解决这个问题....如果我在任何地方错了,请在某个地方给我建议..
【问题讨论】:
-
改用 GUID,如果不能使用 GUID,则在格式中添加毫秒以减少(但不消除)重复的可能性
-
你的随机数只有 9 个可能的值
-
听起来你正在循环生成你的
Random r。确保您只实例化r一次,然后重复使用它。 -
musefan 的 +1... 如果您尝试生成唯一 ID,则不应天真地生成随机值。使用 guid - 这就是它们的用途。