有没有办法监视控制台应用程序的状态?
我正在尝试构建一个用户界面,显示控制台应用程序当前是否正在服务器上运行(处理文件)。如果它正在运行,我想显示当前状态:处理了多少文件,当前正在处理什么文件等。
我能想到的唯一方法:
- 启动应用程序时创建文本/xml 文件
- 使用其处理的每个对象的当前状态信息更新文本文件
- 应用程序处理完成后删除文本文件
对我来说,这似乎不是一个很好或有效的方法。有没有办法检测 ClickOnce 应用程序是否正在运行,也许还有其他方法来访问它的“消息”或日志以显示进度?
注意 - 我也在考虑使用 NodeJS 来执行此操作,但不确定它是否具有此功能。
最佳答案
首先,您应该考虑将其写为 Windows service而不是控制台应用程序。
也就是说,抓取应用程序正在写入的日志文件是一种合理的方法。只要确保它永远不会变得太大即可。
或者,您可以考虑使用 custom performance counters 。这将为使用 System Monitor/perfmon 打开大门作为您的监控工具,因此无需编写任何客户端代码。
关于c# - 有没有办法监视控制台应用程序的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16668863/