2009-06-24 4 views
1

Я слышал, как Джефф и Джоэл обсуждали подкаст, что они называли «Heartbeat», который по сути создает что-то, что действует подобно запуску службы Windows на веб-сайте. Я надеялся получить больше информации о том, как это будет реализовано. Кто-нибудь реализовал что-то подобное раньше и для чего вы его использовали?Создание функции «Heartbeat» или Windows-Service-Like в Asp.Net

Спасибо!

ответ

3

Я нашел ответ в сочетании мест. Я взял то, что сделал Джефф Этвуд для stackoverlow here, а также Code Project article и сделал что-то, что полностью многоразово и можно легко подключить с помощью инструмента IoC. Я отправил полную информацию here

+5

Похоже, что ваше сообщение и/или сайт ушли ... возможно, просто нужно исправить URL-адрес? –

-1

Мы реализуем что-то вроде этого между клиентом и сервером, так как у нас есть клиент Windows, а служба WCF действует как сервер.

Целью биения является сказать «Я все еще жив» со стороны сервера.

Проверить эту ссылку для введения для Heartbeat in WCF

+0

Мертвая ссылка мертва. – Gusdor

0

В основном вы используете веб-страницу, чтобы начать процесс ... но вы положили шапку на то, как часто процесс может работать.

Что-то вроде этого:

TimeSpan timeSinceLastRun = DateTime.Now.Subtract(lastRunTime); 

if(timeSinceLastRun > interval) { 
    RunCustomProcess(); 
    lastRunTime = DateTime.Now; 
} 

таким образом, вы просто должны убедиться, что иногда кто-то (или какую-то программу) посещает страницу. Нажатие на страницу много раз не будет отрицательно влиять на ваш процесс.

+0

были идеальным местом для хранения этих варов, таких как lastruntime ... является global.asa единственным местом? –

+0

может быть в базе данных, или может просто произойти из состояния HttpApplication. –

0

Вы можете использовать мониторинг работоспособности ASP.NET и подключить что-то к WebHeartbeatEvent.