c# - 使用 Web 应用程序管理定时事件的首选方法是什么?

我正在设计一个 ASP.NET 4.0 Web 应用程序,管理员可以在其中创建一个有到期时间的拍卖。到期时间将存储在数据库中。考虑到应用程序实例可能没有在时间运行的事实,我如何确保拍卖在预定时间结束?该应用程序将使用 IIS7 托管。我正在考虑 Windows 服务,但我想知道还有哪些其他选项。

最佳答案

您可以在此处从两种情况中进行选择:

  • 懒惰使用网络应用程序
  • 积极提供服务

惰性场景

除非您必须立即与拍卖的获胜者互动,否则您可以等到应用程序启动,然后让应用程序确定是否有任何已过期的拍卖。在那个时刻收集它们并相应地处理它们。

事件场景

创建一个从数据库中挑选第一个到期拍卖的服务。存储该 DateTime 并让服务休眠直到拍卖结束。在该日期时间启动服务并处理即将到期的拍卖。然后让服务寻找下一次拍卖到期并让服务再次休眠。等等……我想The Windows Workflow Foundation包含此实践的所有工具和要求。

介于两者之间

激活一个调度程序,每隔一小时/半小时/15 分钟唤醒您的网络应用程序并执行一些懒惰的事情。使用像 HostMonitor 这样的调度程序.

https://stackoverflow.com/questions/3815252/

相关文章:

maven-2 - 为什么 Maven2 在每次构建时检查 stax-ex 的更新?

configuration - 在 Windows 中为 gvim 加载 .vimrc 并更改字体和

sql - Informix 7.3 - 声明日期列数据类型,默认为插入/更新时的当前日期

delphi - 控件放在最上面,像TPanel 可以吗?

objective-c - 如何将 self 作为方法参数传递?

vim - 如何指定文件的缩进?

regex - 在正则表达式匹配中检测标量的精确字符串值

php - 永久登录

macos - 如何为 Mac OS X 制作可启动 DVD?

assembly - 是否有适用于 Windows 的免费小型汇编代码编译器/汇编器?