[英]C# application closing after a week or two
Windows Server 2008 R2
我有一个旨在无限期运行的C#控制台应用程序。
因此,我将Console.readLine()
放入其中以尝试使其保持正常运行。
但是,也许一周后,我会回到它的位置,它已经关闭,就好像有人按下了X按钮并关闭了窗口一样。
如果它崩溃了,我会得到一个堆栈跟踪,并且像其他任何程序崩溃时一样,得到“此程序意外关闭”,然后它会等待用户输入,但我什至看不到。
一两个星期后我才回来,控制台窗口不再显示。
为什么是这样?
我通过双击桌面上的.exe启动应用程序。
如果此应用程序确实在更短的间隔内定期运行,则Windows服务是一种更好的方法。 同样,无法通过Enter
键关闭Windows服务。
如果一天需要做几次或类似的工作,也许您可以考虑通过“ Scheduled Tasks
定期启动应用Scheduled Tasks
。
无论如何,保持这样的控制台应用程序打开是受“意外”关闭的更多原因的影响。 例如,除了系统重新启动之外,用户还可能注销。
在当前解决方案上,您可以通过添加日志文件来检测正在发生的情况:
ReadLine
在ReadLine
。 您将能够确定发生了什么。 SystemEvents.SessionEnding
事件并记录下来(以注销,重新启动等)。 例如,您可以将日志框架与log4net轻松集成。
如评论中所述,请确认计算机未启用自动更新,因为它们会干扰应用程序的运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.