Guid.NewGuid()返回重复值?

Guid.NewGuid()返回重复值?

Submit方法是异步调用吗?或者在任何阶段ticket对象都进入另一个线程吗?

在代码示例中,您正在重用同一对象。如果Submit在短暂延迟后在后台线程中发送票据(并且不复制),那么更改CacheId实际上会更新所有挂起的提交。这也解释了为什么Thread.Sleep可以解决该问题。请尝试此操作:

for( int i = 0; i < _numOrders; i++ )

{

OrderTicket ticket = new OrderTicket(... );

ticket.CacheId = Guid.NewGuid();

Submit( ticket ); // note that this simply makes a remoting call

}

如果由于某种原因无法进行此操作,请尝试以下方法,看看它们是否仍然相同:

ticket.CacheId = new Guid("00000000-0000-0000-0000-" +

string.Format("{0:000000000000}", i));

相关推荐

骑士十五世的售价是多少
在哪个应用商店能下载365

骑士十五世的售价是多少

📅 07-01 👁️ 2434
家里、宿舍角落常见的几种蜘蛛,最离谱的还有人网购回家养着
在哪个应用商店能下载365

家里、宿舍角落常见的几种蜘蛛,最离谱的还有人网购回家养着

📅 10-07 👁️ 5430
青城派:巴蜀之地的武学瑰宝
365bet中文官网

青城派:巴蜀之地的武学瑰宝

📅 08-01 👁️ 732
ThinkPad的产品保修信息
bet878365

ThinkPad的产品保修信息

📅 06-28 👁️ 1477