我正在开发一个c#控制台应用程序(稍后将转换为Windows服务)。
我的应用程序启动了大量定时器,每隔一段时间执行一次代码(每天一次,每小时一次等)。
设置所有计时器后,我不希望我的控制台应用程序退出。
现在我正在使用一段时间的真句,但我认为这不是正确的方法。
任何帮助?
答案 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()
将保持一切运行,直到您以编程方式退出。