2012-12-19 39 views
2

我需要在.NET中編寫一個程序,每隔幾個小時運行一次並執行一些任務。它不需要用戶交互,但它需要一個像App.config這樣的配置文件,我可以在其中放置配置信息。因此,我應該在C#中編寫控制檯程序(如php或perl腳本),並將其安排在任務管理器(如crontab)中或寫入Windows服務或其他東西?c#.Net中的自動化

+0

這兩個都是有效的選項。不過,首先聽起來要容易得多。 –

+0

如果只需要每幾個小時運行一次,那麼只需安排一項任務即可。如果需要持續輪詢或爲其他進程提供互操作性,則使用服務。 –

回答

1

我的建議是去的控制檯應用程序,並使用任務管理器。

  1. 它把你從實現自定義定時
  2. 它可以讓你定時精細的控制
  3. 它把你從實現的UI
  4. 它爲您提供了自動化選項,如在管道 - 並在命令行輸出
+0

我在過去使用過這種方法,並根據您提到的原因將它推薦給windows服務方法。一個警告是如果你想在沒有用戶登錄的情況下運行應用程序(儘管自XP以來可能已經改變了) –

1

根據您的任務的複雜性,最好的選擇是創建一個可以通過任務調度程序運行的應用程序。如果你需要每幾個小時運行一次,windows服務也可以工作,但是記住如果你創建了一個windows服務,那麼你將不得不在你的應用程序中使用一個定時器控件,它可能在沒有提供任何線索的情況下掛起。有兩個概念的例子很多,而不是使用Windows服務,你可以使用Window Communication Foundation(WCF)。