Запускайте страницу 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/