2011-07-26 92 views

回答

1

事情與此類似,使用計時器:

protected override void OnStart(string[] args) 
{ 
     var timer = new System.Timers.Timer(); 
     timer.Elapsed += new ElapsedEventHandler(DoSomething); 
     //do something every 30 seconds 
     timer.Interval = TimeSpan.FromSeconds(30).TotalMilliseconds; 
     timer.Start(); 
} 

private void DoSomething(object sender, ElapsedEventArgs e) 
{ 
    //Do your timed event here... 
} 
+0

我承認你更明確的答案。 –

+0

@brendan:我得到了錯誤不能隱式地將類型'void'轉換爲'System.Timers.ElapsedEventHandler'在第四行 – MayureshP

+0

right,sorry,fixed that - Elapsed必須是新的ElapsedEvenHandler – brendan

0

a timer

+0

實際上是的,但從Windows服務 – MayureshP

+0

請參閱@ brendan的答案爲一個Windows服務示例 –

+0

可能是我的Web應用程序的一部分?請指導 – MayureshP

0

看一看Quartz.NET。

「Quartz.NET是一個全功能的開源作業調度系統,可用於從最小的應用程序到大型企業系統。」

我已經使用它,當我需要某種類型的調度。

+0

不確定這是適用。它可能會減少/消除對Windows服務的需求,但我懷疑它可能用於觸發Windows服務本身內的任何內容。 –

+0

Quartz.net調度器只是一個庫,它可以很容易地運行作業,作業是應用程序內或dll內的一段代碼。該計劃具有先進的計時功能,例如從下午12點到上午6點的第一天運行,以及其他不錯的功能。這篇文章可能有點矯枉過正,但一些石英特徵可能會有所幫助。 – Jethro

+0

聽起來很整齊。我想我應該在發表評論之前完成我的研究,只是假設它將比來自所提供報價的圖書館更像是一個「系統」。 –