C# 应用程序中的被动等待

本文关键字:被动 等待 应用程序 | 更新日期: 2023-09-27 18:36:33

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

我的应用程序启动了很多计时器,这些计时器每隔一段时间(每天一次,每小时一次等)执行一些代码。

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

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

有什么帮助吗?

C# 应用程序中的被动等待

代码末尾可以添加

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

Console.ReadLine();

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

当我开发Windows服务时,我通常会创建一个模块(dll),其中包含处理所有逻辑的代码。 然后,我创建一个 Windows 窗体,该窗体调用"启动服务"和"停止服务"进行开发,并调用"服务"项目进行部署。

在使用

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

当您将其转换为服务时,您将

不必再使用此行,因为您将在"服务启动"时实现计时器初始化,并且当代码块结束时它将保持正常运行

不用担心你的while循环。

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

Process.GetCurrentProcess().WaitForExit() 

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