每15秒运行一次ASPX页面

时间:2013-07-16 21:09:48

标签: c# jquery asp.net vb.net global-asax

我需要每隔15秒调用一次ASPX页面。该页面将通过请求接收数据并更新数据库中的表。

我有一张拍卖数据样本表。

--------------------------------------------------------------
AID           STARTDATE               ENDDATE
-------------------------------------------------------------
1             18-7-2013 12:00 PM     20-7-2013 12:00 PM
2             19-7-2013 12:00 PM     21-7-2013 12:00 PM
3             19-7-2013 01:00 PM     21-7-2013 12:00 PM
4             19-7-2013 01:00 PM     22-7-2013 12:00 PM

我们需要检入我们的数据库并发送网页请求,以查找目前处于拍卖模式的所有记录(STARTDATEENDDATE之间的当前日期和时间)。有时3或4件物品将同时开始拍卖。我们如何处理这种情况?

对于当前正在运行拍卖模式并存储在我们的数据库中的所有项目,每15秒获取一次更新的最佳方法是什么?

提前谢谢你......

3 个答案:

答案 0 :(得分:5)

如果你只需要每15秒自动重新加载一次ASPX页面,只需在页面标题中添加一个元标记:

<head>
<meta http-equiv="refresh" content="15">
</head>

答案 1 :(得分:1)

您可以使用Quartz.NET Scheduling Framework for .NET Platform,就像Windows任务计划程序一样,但更好。

项目网站:http://www.quartz-scheduler.net/

Nuget包:http://nuget.org/packages/Quartz/

答案 2 :(得分:1)

作为客户端解决方案,您可以使用JavaScript setInterval()函数,如下所示:

var ResInterval = window.setInterval('myAjaxCall()', 15000); // 15 seconds
var myAjaxCall = function() {
    $.ajax({
        type: "GET",
        url: 'YourPage.aspx/MyMethod',
        dataType: "json",
        success: function(xml) {
            // Put logic here when data comes back from server
        }
};

注意:url可以是脚本可调用的任何内容(Web服务,WCF服务,ASP.NET AJAX Page Method等。)

要停止间隔,请执行以下操作:

window.clearInterval(resInterval);