【发布时间】:2012-08-15 07:38:18
【问题描述】:
我有一个 C# 4.0 Windows 控制台应用程序,它应该运行 24*7*365。 (我有一个 Windows 服务来监视这个应用程序,并在它由于某种原因终止时启动它)。这个控制台应用程序的启动涉及一些复杂的资源消耗活动——所以我必须确保控制台应用程序不会频繁重启。控制台应用程序有 3 个 System.Timers.Timer 实例,它们在计时器经过时执行一些活动(间隔分别为 10 秒、15 秒和 2 小时)。防止控制台应用程序终止并使其保持活动状态的正确方法是什么?有人可以推荐一下吗!
【问题讨论】:
-
你现在如何让它活着?你肯定有某种循环吗?
while(true) Console.ReadKey()够吗? -
您首先需要说明导致它终止的原因
-
我不得不问:您真的有一个服务要监视并启动永远运行的控制台。 ..?你为什么不把代码移到服务中(因为你描述的是服务的行为)
-
@MarcGravell 它可能正在使用来自用户会话的资源,或者它可能会在运行时报告信息。但我同意,为什么不把逻辑放在服务中。
-
@Joseph 将逻辑放入可从服务或控制台应用程序使用的类库中,为您提供更大的灵活性。
标签: c# .net console-application