我使用asp.net mvc1.0进行在线支付系统,如果只有一个人只有一个人,我怎么能只允许一个人买东西。另外我在这个系统中使用其他支付系统(如ebay)。我的意思是当一个产品的库存只有一个,并且一次购买它的人不止一个时,我怎么能让一个人可以买到它成功其他人不能再买了。
答案 0 :(得分:1)
您可能需要使用数据库事务来处理订单。它不仅仅是锁定一个对象(在这种情况下,它必须是一个静态对象才能被所有Web用户共享),而是关于完整订单的访问权限。交易将是您需要使用的。
此外,当您说“我在此系统中使用其他付款”时,尚不清楚。这对销售库存的交易管理没有任何影响。
答案 1 :(得分:0)
为了只有一个线程可以访问关键方法,您可以使用Lock关键字。
lock (myObj)
{
}
如果您正在寻找更多内容,那么需要更多背景来理解它。
答案 2 :(得分:0)
您需要为系统添加并发访问控制。 例如,您可以实现这个简单的算法:
重要的是第2点,使用乐观验证算法更新商店中元素的数量。例如,在SQL操作的WHERE条件中写入您在poit 1中读取的数量值。 如果有人更改此值,则更新失败,必须中断销售操作。