2012-06-06 41 views
0

我正在開發一個c#控制檯應用程序(稍後將轉換爲Windows服務)。在c#應用程序中被動等待

我的應用程序啓動了很多定時器,間隔執行一些代碼(每天一次,每小時一次等)。

我不希望我的控制檯應用程序在設置所有計時器後退出。

現在我正在使用一段時間的真句,但我認爲這不是正確的方法。

任何幫助?

+0

Console.WriteLine(「按任意鍵關閉」); Console.ReadKey(); – Brian

+1

你可以發佈一些代碼,以便我們可以看到你(或不)在做什麼? – RobertMS

回答

4

的代碼結束時,您可以添加

Console.WriteLine("Press any key to close"); 
Console.ReadKey(); 

Console.ReadLine(); 

任何一項都將關閉,從直到你按下一個鍵停止控制檯。

1

您應該使用Console.ReadKey()你,而你正在使用一個控制檯應用程序設置的時間後...

當你將它轉換成一個服務,你,你不會有使用這條線因爲您將在「服務啓動」中實現定時器初始化,並且在代碼塊結束時它將保持運行並且運行

4

當我開發Windows服務時,通常會創建一個包含處理所有代碼的模塊(dll)邏輯。然後我創建一個窗體窗體,調用開始服務和停止服務的開發和服務項目的部署。

0
Process.GetCurrentProcess().WaitForExit() 

將保持一切運行,直到您以編程方式退出。

1

不要擔心你的while循環。

如果您晚些時候將應用程序轉換爲Windows服務,那麼我不會爲此而煩惱。在使用服務時,您可以在服務的啓動方法中設置計時器,並運行服務直到您停止服務。所以不需要定製應用程序循環。