如何实现服务器端倒计时器

时间:2016-06-10 10:37:48

标签: c# sql asp.net

我想要做的是当一些记录被添加到表中时,倒数计时器将为该记录启动,一旦它达到零,它将触发一些服务器端操作。我想要服务器端,因为它应该在用户不在线或登录时继续。我使用的是asp.net,C#,SQL。

2 个答案:

答案 0 :(得分:0)

有多种方法可以做到这一点(与编程中的所有内容一样!)。

我通常这样做的方法是在数据库中存储一个时间戳,每次用户(或受其影响的任何用户)进行任何类型的交互时都会检查该时间戳。如果时间戳已过,则应调用该事件。

这样做的另一种方式(如果我没记错,这就是laravel的工作方式)就是如上所述,但不依赖于用户交互,某种类型的cronjob或预定作业是检查的触发器用户/ 因此每次cronjob触发时(取决于它必须接近的时间,如果需要,该作业可以每秒触发)它将检查每个用户以查看他们的时间戳是否比当前时间戳更旧,并且在这种情况下,调用事件。

答案 1 :(得分:0)

您可以使用服务器机器中的Windows服务来实现它,它更可靠,以确保实时数据的一致性。

  • 在数据库中添加数据
  • 在Window服务中将频率设置为每秒,它将检查新插入的数据。
  • 一旦windows服务读取数据(在表中查找新数据),在线程中启动计时器,它将连续运行几天。
  • 最后,Windows服务将执行服务器端操作。