关闭。这个问题需要更加突出重点。它目前不接受答案。**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。
两年前关门了。改进这个问题售票公司如何保证不再售票?例如,你有40张可用的票,卖出39张,2个人同时开始购买,两个人都会有该票可用的信息,但是一旦一个人完成购买,另一个人仍然会有该票可用的虚假信息,购买不会被阻止。如何解决这个问题?
lyfkaqu11#
不确定您希望在数据库端或c端得到什么样的答案。在任何情况下,c面都应该非常简单,看起来像:
private void Order_bt_Click(object sender, RoutedEventArgs e) { DataTable data = ReadDataFromDB(); if (data.Rows.Count <= 40) { // reserve the ticket to a person } else { MessageBox.Show("Sorry, the show is sold out"); } }
svujldwt2#
一旦有人进入了购买流程,就将该票标记为不可用(可能有20分钟的过期时间),这样其他购物者就不能购买该票了。如果第二个购物者尝试进入购买工作流,请告诉他们票不再可用。“进入采购流程”定义为“关键部分”,一次只允许一个人进入。两个人要同时申领最后一张票是不可能的。当第一个人购买时,永久减少可用门票。如果第一个人取消购买或放弃工作流,请将保留的票证释放回可用池。
2条答案
按热度按时间lyfkaqu11#
不确定您希望在数据库端或c端得到什么样的答案。在任何情况下,c面都应该非常简单,看起来像:
svujldwt2#
一旦有人进入了购买流程,就将该票标记为不可用(可能有20分钟的过期时间),这样其他购物者就不能购买该票了。如果第二个购物者尝试进入购买工作流,请告诉他们票不再可用。
“进入采购流程”定义为“关键部分”,一次只允许一个人进入。两个人要同时申领最后一张票是不可能的。
当第一个人购买时,永久减少可用门票。如果第一个人取消购买或放弃工作流,请将保留的票证释放回可用池。