2009-04-16 55 views
1

如何在我的控制檯應用程序中使用計時器?例如,我希望我的控制檯應用程序在後臺工作,並且每10分鐘執行一次操作。如何在我的控制檯應用程序中使用計時器?

我該怎麼做?

感謝

+4

只需注意:殺死控制檯應用程序非常簡單。如果這個後臺工作很重要,那麼選擇windows服務實現。或者考慮nandos關於WTS的文章。 – boj 2009-04-16 21:29:13

回答

2

你可以使用Windows任務調度程序來運行你的控制檯應用程序每隔10分鐘。

+0

這可能是這樣做的最好方法。 – 2009-04-16 21:36:14

4

控制檯應用程序不一定意味着長時間運行。這就是說,你可以做到這一點。爲了確保控制檯不會退出,您必須讓Console.ReadLine上的控制檯循環等待某個退出字符串,如「退出」。

要每10分鐘執行一次您的代碼,請調用System.Threading.Timer並以10分鐘爲間隔將其指向您的執行方法。

public static void Main(string[] args) 
{ 
    using (new Timer(methodThatExecutesEveryTenMinutes, null, TimeSpan.FromMinutes(10), TimeSpan.FromMinutes(10))) 
    { 
     while (true) 
     { 
      if (Console.ReadLine() == "quit") 
      { 
       break; 
      } 
     } 
    } 
} 

private static void methodThatExecutesEveryTenMinutes(object state) 
{ 
    // some code that runs every ten minutes 
} 

編輯

我喜歡日本央行對你的問題的評論,雖然。如果您真的需要一個長時間運行的應用程序,請考慮將其作爲Windows服務的開銷。有一些開發開銷,但是你有一個更穩定的平臺來運行你的代碼。

+1

謝謝,但這個示例代碼不工作 – Gold 2009-04-17 05:50:57

相關問題