2011-09-09 150 views
1

如何運行一個Windows服務每小時?Windows服務 - C#

+0

您是否可以爲您的請求添加更多背景?它有什麼作用?爲什麼你需要一個服務,而不是,例如,任務調度程序? – mtijn

+0

感謝您的回覆。我需要該服務每小時執行一次方法,該方法基本上從數據庫獲取數據,並將數據插入到數據庫中。 – johnnie

+1

大多數數據庫建立支持這種管理任務 – Carsten

回答

7

或只寫一個簡單的應用程序,並使用系統Task Scheduler服務來運行你的應用程序每隔一小時 - 沒有必要在這一切寫服務辦法。

2

根據您的問題(這只是表面上的),我想不出別的事比使用由VS提供創建服務,並使用定時器正常服務模板的其他說明觸發方法,你有興趣每小時運行一次。

關於定時器,你也可以檢查出來here

有關如何創建服務一些更多的信息,在可以在msnd web site

看看作爲一個簡單的經驗法則,永遠不要忘記禁用您開始處理您的員工之前的計時器,並在年底重新啓用

+0

MSDN包含一個簡單的Alarm類的示例。您可以使用它來定期觸發您的方法。每次觸發報警事件時,請確保設置新的報警時間。您可以在Windows服務中使用這種方法。這裏是MSDN文章:http://msdn.microsoft.com/en-us/library/wkzf914z%28v=VS.90%29.aspx#Y2400 ...你可以重寫此示例使用定時器來代替。 –

+0

@cgeers感謝您的提示 – Andres

0

那麼你可以創建一個在60分鐘

 timer1 = new Timer(); 
     this.timer1.Interval = 1000 * 60* 60; 
     this.timer1.Elapsed += new ElapsedEventHandler(timer1_Elapsed); 
     timer1.Enabled = true; 

寫這段代碼在Windows服務的OnStart方法的時間間隔工作的服務,你將能夠在每小時的方式運行服務。