gpt4 book ai didi

c# - 超时/结束日期事件的解决方案

转载 作者:行者123 更新时间:2023-11-30 14:35:35 24 4
gpt4 key购买 nike

希望有人能帮助我寻找正确的方向,以解决我在系统设计过程中遇到的这个问题。

我正在创建一个拍卖网站,其中的拍卖有特定的结束日期/时间。

我有一个 .NET 计时器向用户显示剩余时间,当倒计时时,它会触发事件并更新后端 SQL 数据库以表明拍卖已经完成,它会通知获胜的用户并触发关闭功能。

对于当时并未在浏览器中实际打开的拍卖,您建议如何执行此操作,以便 Timer 事件永远不会创建此 CLOSE 事件。

理想情况下,我需要在拍卖结束时间过去的时间点运行一些东西吗?

谢谢

最佳答案

一种选择是将拍卖项目结束/关闭的日期/时间存储在数据库中。然后,不要担心对它的关闭使用react(在客户端的情况下是计时器)并更新它关闭。决定它关闭的只是现在 > 关闭日期/时间这一事实。

编辑:

在下面的评论中,您表示您还需要在拍卖结束时发送邮件。如果是这种情况,您需要某种后台处理来选择所有已关闭的事件并发送邮件。您仍然可以通过存储日期时间来定义关闭。 bg 处理可以选择现在大于关闭日期且处理位为假的所有事件。选择这些后,将它们放入持久队列(sql 中的表、azure 队列等...)。然后让后台处理排空队列。当它处理每个项目并发送邮件时,它会更新已处理的事件。

后台处理有多种选择:

  1. window 服务
  2. In proc timer with a threadpool to process(只有当你有一个 AT 时才这样做)
  3. Azure 中的辅助角色
  4. SQL 代理作业

关于c# - 超时/结束日期事件的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11922186/

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