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