C# 应用程序中的被动等待
本文关键字:被动 等待 应用程序 | 更新日期: 2023-09-27 18:36:33
我正在开发一个c#控制台应用程序(稍后将转换为Windows服务)。
我的应用程序启动了很多计时器,这些计时器每隔一段时间(每天一次,每小时一次等)执行一些代码。
我不希望我的控制台应用程序在设置所有计时器后退出。
现在我正在使用一段时间的真句子,但我认为这不是正确的方法。
有什么帮助吗?
在
代码末尾可以添加
Console.WriteLine("Press any key to close");
Console.ReadKey();
或
Console.ReadLine();
其中任何一个都会阻止控制台关闭,直到您按下某个键。
当我开发Windows服务时,我通常会创建一个模块(dll),其中包含处理所有逻辑的代码。 然后,我创建一个 Windows 窗体,该窗体调用"启动服务"和"停止服务"进行开发,并调用"服务"项目进行部署。
在使用
控制台应用程序时设置时间后,您应该使用 Console.ReadKey() ...
当您将其转换为服务时,您将不必再使用此行,因为您将在"服务启动"时实现计时器初始化,并且当代码块结束时它将保持正常运行
不用担心你的while
循环。
如果您以后要将应用程序转换为Windows服务,那么我不会为此烦恼。使用服务时,您将在服务的启动方法中设置计时器,服务将一直运行,直到您停止它。因此,不需要自定义应用程序循环。
Process.GetCurrentProcess().WaitForExit()
将保持一切运行,直到您以编程方式退出。