Запускайте страницу ASPX каждые 15 секунд

Мне нужно вызывать страницу ASPX каждые 15 секунд. Эта страница будет получать данные через запрос и обновлять таблицу в базе данных.

У меня ниже образец таблицы для данных аукциона.

--------------------------------------------------------------
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

Нам нужно проверить в нашей базе данных и отправить веб-запрос для всех записей, которые в настоящее время находятся в режиме аукциона (текущая дата и время между STARTDATE а также ENDDATE). Иногда 3 или 4 предмета начинают свой аукцион одновременно. Как мы справимся с этим сценарием?

Каков наилучший способ получать обновления каждые 15 секунд для всех товаров, которые в данный момент находятся в режиме аукциона и хранятся в нашей базе данных?

Заранее спасибо...

3 ответа

Решение

В качестве клиентского решения вы можете использовать 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 может быть все, что вызывает скрипт (веб-сервис, WCF оказание услуг, ASP.NET AJAX Page Method, так далее.).

Чтобы остановить интервал, сделайте это:

window.clearInterval(resInterval);

Если вам просто нужно автоматически обновлять страницу ASPX каждые 15 секунд, просто добавьте метатег в заголовок страницы:

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

Вы можете использовать Quartz.NET Scheduling Framework для платформы.NET, которая похожа на Windows Task Scheduler, но намного лучше.

Сайт проекта: http://www.quartz-scheduler.net/

Пакет Nuget: http://nuget.org/packages/Quartz/

Другие вопросы по тегам