2009-06-24 25 views
1

我聽說過Jeff和Joel在播客中討論了他們所謂的「心跳」,它實質上是創造類似於運行Windows服務在一個網站。我希望能夠更深入地瞭解如何實現這樣的事情。有沒有人實施過這樣的事情,你有什麼用途?在Asp.Net中創建「心跳」或Windows服務類功能

謝謝!

回答

3

我在地點組合中找到了答案。我拿出了Jeff Attwood爲stackoverlow here以及Code Project article所做的工作,並且創建了一些完全可重用且可以使用IoC工具輕鬆連接的東西。我已經發布了詳細信息here

-1

我們在客戶端和服務器之間實現類似的功能,因爲我們有Windows窗體客戶端,WCF服務充當服務器。

心跳的目的是從服務器端說「我還活着」。

檢查這個環節引入了Heartbeat in WCF

+0

死鏈接已死。 – Gusdor 2015-11-27 16:44:53

0

基本上你使用一個網頁揭開序幕的過程...但你把過程可以運行的頻率上限。

事情是這樣的:

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

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

這樣你只需要確保偶爾有人(或程序)訪問該網頁。多次點擊頁面不會對您的過程產生不利影響。

+0

是儲存像lastruntime這樣的變量的理想地點...是global.asa唯一的地方嗎? – 2009-06-24 14:30:10

+0

可能位於數據庫中,或者可能僅僅來自HttpApplication狀態。 – 2009-06-26 03:35:01