2012-02-02 35 views
0

我正在创建一个用于出价的Web应用程序,它需要检查用户最后的出价时间,并确保如果在特定时间间隔内没有其他出价,则该用户应该获胜,并且该入口被自动添加到数据库。如何定期自动执行web服务?

为了检查时间,我需要创建一个以特定时间间隔运行的web服务,并检查最后的出价时间,并在出价时间到期后执行工作。

+0

在页面上使用一些javascript。它有一个允许随机代码以指定间隔执行的功能。 – 2012-02-02 05:34:18

+0

你可能还想在你的问题中抛出一个实际的*问题*。 – 2012-02-02 05:37:01

+0

你正在谈论的内容听起来更像是Windows任务调度程序或Windows服务的工作。它是否必须是Web服务?例如,检查过程是否必须公开,以便远程客户端可以启动它? – 2012-02-02 05:39:17

回答

0

您应该所有投标添加到数据库来跟踪用户的多发。

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

如果是,可以说,距离最高出价15分钟后,您关闭竞标并宣布获胜者。该检查可以在Web服务内完成。

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

0

你不能在窗体窗体上使用定时器控件,或者安排一个将在加载时调用web服务的exe。 所以你的exe/winforms将调用你的web服务的负载事件中的特定方法,并且你安排exe以特定的时间间隔运行。 +定时器,下文提到的

+1

这不是一个答案。这是一个缺少问号的问题。 – 2012-02-02 05:39:46

0

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

最简单的选项看起来像一些类似命令,经常由Task Scheduler运行(每分钟一次?)。

您也可以合并检查出价和赢得一个网络方法,所以每次用户检查拍卖状态时,如果过期,您也将尝试关闭它。然而,这是最差的dB访问方案。

我更喜欢WCF +后台线程+新出价队列。