如何定期自动执行Web服务?

时间:2012-02-02 05:30:55

标签: asp.net web-services

我正在创建一个用于出价的网络应用程序,需要检查用户的上次出价时间,并确保如果在特定时间间隔内没有其他出价,该用户应该获胜并且此条目会自动添加到数据库中。< / p>

要检查时间,我需要创建一个以特定间隔运行的网络服务,并检查上次出价时间,并在出价时间到期后继续工作。

5 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

您是否可以在窗口表单上使用计时器控件或安排将在加载时调用Web服务的exe。 所以你的exe / winforms将在你的web服务中调用其Load事件中的特定方法,并安排exe以特定的间隔运行。

答案 2 :(得分:0)

使用窗口服务+ Timer,下面提到的是参考:

http://www.codeguru.com/columns/dotnet/article.php/c6919

答案 3 :(得分:0)

您应该将所有出价添加到数据库以跟踪多个用户。

要通知用户您可以在用户和拍卖参数中设置需要的Web服务,并返回包含拍卖信息的小对象,包括有关最高报价(出价值,时间戳和用户)的信息以及拍卖(状态(开放/关闭),赢家和最高出价等。)。

如果是这样,比方说,自提出最高出价以来15分钟,您就可以关闭竞标并宣布获胜者。此检查可以在Web服务中完成。

然后使用Javascript对服务进行频繁的AJAX请求,并根据返回的结果更新HTML / DOM。

答案 4 :(得分:0)

可能最好的选择是自托管WCF,它允许您提供Web服务并运行一些后台线程。

最简单的选项看起来像一些命令,经常被任务调度程序运行(每分钟一次?)。

您还可以合并检查出价并赢得一个网络方法,因此每次用户检查拍卖状态时,您也会尝试关闭它,如果已过期。然而,这是最糟糕的dB访问场景。

我更喜欢WCF +后台主题+新出价排队。