gpt4 book ai didi

c# - 同步 c#/asp.net 预订应用程序

转载 作者:太空宇宙 更新时间:2023-11-03 22:24:40 26 4
gpt4 key购买 nike

我正在开发一个事件预订应用程序,但我很难弄清楚如何管理预订流程。我知道数据库事务和一些关于锁定的知识,但在提交预订之前我有很多业务规则需要验证,我担心性能瓶颈。

这里是对正在发生的事情的总结:

  • 一个事件有最大数量的插槽
  • 用户可以在事件中预订一个位置
  • 每个用户都有一个账户,里面有钱,每个事件都有一定的费用

鉴于上述参数,我需要验证以下业务规则才能进行预订:

  • 用户还没有为这个事件预定位置
  • 用户有足够的资金来预订事件
  • 事件至少有一个空位
  • 该事件不会与用户预订的其他事件发生冲突(问题不大,因为我可以在显示页面时检查这一点并向用户隐藏此事件)

我主要担心的是,如果我预先从数据库中提取所有信息(即事件、用户、帐户和现有预订),那么在我运行所有验证并开始提交新预订时,状态系统可能会发生变化(即其他人已经预订了最后一个位置,钱已经离开我的账户等)。

如果我在这个预订过程中锁定代码/数据库表,那么我可能(??)获得锁定很长一段时间会影响系统中的其他操作并导致高峰时段的性能问题。

任何人都可以建议一种方法,使我能够管理或至少限制这些担忧。

我正在用 c# 构建一个 asp.net 应用程序并使用 sql server 2005。

最佳答案

我认为一个很好的例子是 Ticketmaster 如何为可能会购买的门票预留座位。他们告诉您,在将座位放回库存之前,您还有那么多分钟的时间。它促使购买者做出决定,否则其他人将有机会坐在座位上。这确实是你最大的障碍。至于检查业务规则,你必须这样做。那里需要做的事情没有魔力。如果您需要数据来验证规则,那么这就是您需要做的。通过一些适当的映射和概述,您可以找到效率。我希望这能回答您的问题。

祝你好运!

关于c# - 同步 c#/asp.net 预订应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1834437/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com