在c#应用程序中被动等待

时间:2012-06-06 19:59:50

标签: c# timer console-application

我正在开发一个c#控制台应用程序(稍后将转换为Windows服务)。

我的应用程序启动了大量定时器,每隔一段时间执行一次代码(每天一次,每小时一次等)。

设置所有计时器后,我不希望我的控制台应用程序退出。

现在我正在使用一段时间的真句,但我认为这不是正确的方法。

任何帮助?

5 个答案:

答案 0 :(得分:4)

在您可以添加的代码末尾

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

Console.ReadLine();

其中任何一个都会阻止控制台关闭,直到你按下一个键。

答案 1 :(得分:4)

当我开发Windows服务时,我通常会创建一个包含处理所有逻辑的代码的模块(dll)。然后我创建一个Windows窗体,调用Start Service和Stop服务进行开发,使用Service项目进行部署。

答案 2 :(得分:1)

在使用控制台应用程序时设置时间后,应该使用Console.ReadKey()...

当你将它转换为服务时,你将不再需要使用这一行,因为你将在“service start”上实现定时器初始化,并且当代码块结束时它将保持运行

答案 3 :(得分:1)

不要担心您的while循环。

如果您以后要将应用程序转换为Windows服务,那么我就不会为此烦恼了。使用服务时,您可以在服务的start方法中设置计时器,并且serivce会一直运行,直到您停止它为止。因此不需要自定义应用程序循环。

答案 4 :(得分:0)

Process.GetCurrentProcess().WaitForExit() 

将保持一切运行,直到您以编程方式退出。