2009-06-24 17 views
1

J'ai entendu Jeff et Joel discutent sur un podcast ce qu'ils ont appelé un « battement de coeur », qui essentiellement crée quelque chose qui agit semblable à l'exécution d'un service Windows dans un site Web. J'espérais obtenir un peu plus d'informations sur la façon dont quelque chose comme ça serait mis en œuvre. Est-ce que quelqu'un a déjà mis en place quelque chose comme ça et pour quoi l'avez-vous utilisé?Création d'un « battement de coeur » ou la fonctionnalité Windows Service-Comme dans Asp.Net

Merci!

Répondre

3

J'ai trouvé la réponse dans une combinaison d'endroits. J'ai pris ce que Jeff Attwood a fait pour stackoverlow here ainsi que le Code Project article et fait quelque chose qui est complètement réutilisable et capable d'être facilement raccordé à l'aide d'un outil IoC. J'ai posté les détails here

+5

On dirait que votre message et/ou site est parti ... peut-être juste besoin de réparer l'URL? –

-1

Nous mettons en œuvre quelque chose comme ça entre le client et le serveur, nous avons fenêtres forme des actes service à la clientèle et de WCF en tant que serveur.

L'objectif du rythme cardiaque est de sayd « Je suis encore en vie » du côté serveur.

Vérifiez ce lien pour l'introduction de Heartbeat in WCF

+0

lien mort est mort. – Gusdor

0

Fondamentalement, vous utilisez une page Web pour lancer un processus ... mais vous mettez un bouchon sur la fréquence à laquelle le processus peut fonctionner.

Quelque chose comme ceci:

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

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

cette façon il vous suffit de faire en sorte que de temps en temps quelqu'un (ou un programme) visite la page. Frapper la page plusieurs fois ne nuiront pas votre processus ..

+0

était l'endroit idéal pour stocker ces vars comme lastruntime ... est global.asa le seul endroit? –

+0

pourrait être dans une base de données, ou pourrait simplement provenir de l'état HttpApplication. –