2009-06-24 5 views
1

Ich habe gehört, Jeff und Joel auf einem Podcast zu diskutieren, was sie eine "Heartbeat" genannt, die im Wesentlichen etwas schafft, die ähnlich wie ein Windows-Dienst läuft in einer Website. Ich hatte gehofft, mehr Einblick zu bekommen, wie so etwas umgesetzt werden könnte. Hat jemand schon einmal so etwas implementiert und wofür haben Sie es benutzt?Erstellen eines "Heartbeat" oder Windows-Service-Like-Funktionalität in Asp.Net

Danke!

Antwort

3

Ich fand die Antwort in einer Kombination von Orten. Ich habe genommen, was Jeff Attwood für stackoverlow here sowie die Code Project article gemacht und etwas, das vollständig wiederverwendbar ist und einfach mit einem IoC-Tool angeschlossen werden kann. Ich habe die vollständigen Details gepostet here

+5

Scheint so, als wäre dein Post und/oder deine Site verschwunden ... musst du vielleicht nur die URL korrigieren? –

-1

wir so etwas wie, dass zwischen dem Client und dem Server implementieren, wie wir Fenster haben bildet Client und WCF-Dienst fungiert als Server.

Ziel des Herzschlages ist: „Ich bin immer noch am Leben“ von der Serverseite sayd.

prüfen Link zur Einführung für Heartbeat in WCF

+0

Dead Link ist tot. – Gusdor

0

Grundsätzlich verwenden Sie eine Webseite, ein Verfahren zu beginnen ... aber Sie setzen eine Kappe auf, wie oft der Prozess ausgeführt werden kann.

Etwas wie folgt aus:

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

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

diese Weise können Sie nur, dass hin und wieder jemand gewährleisten müssen (oder ein Programm) besucht die Seite. Wenn Sie die Seite mehrmals drücken, wird Ihr Prozess nicht beeinträchtigt.

+0

war der ideale Ort, um diese Vars wie Lastruntime zu speichern ... ist global.asa der einzige Ort? –

+0

könnte in einer Datenbank sein oder einfach aus dem HttpApplication-Status kommen. –

Verwandte Themen