c# - 有没有办法监视控制台应用程序的状态?

标签 c# .net node.js clickonce monitoring

有没有办法监视控制台应用程序的状态?

我正在尝试构建一个用户界面,显示控制台应用程序当前是否正在服务器上运行(处理文件)。如果它正在运行,我想显示当前状态:处理了多少文件,当前正在处理什么文件等。

我能想到的唯一方法:

  1. 启动应用程序时创建文本/xml 文件
  2. 使用其处理的每个对象的当前状态信息更新文本文件
  3. 应用程序处理完成后删除文本文件

对我来说,这似乎不是一个很好或有效的方法。有没有办法检测 ClickOnce 应用程序是否正在运行,也许还有其他方法来访问它的“消息”或日志以显示进度?

注意 - 我也在考虑使用 NodeJS 来执行此操作,但不确定它是否具有此功能。

最佳答案

首先,您应该考虑将其写为 Windows service而不是控制台应用程序。

也就是说,抓取应用程序正在写入的日志文件是一种合理的方法。只要确保它永远不会变得太大即可。

或者,您可以考虑使用 custom performance counters 。这将为使用 System Monitor/perfmon 打开大门作为您的监控工具,因此无需编写任何客户端代码。

关于c# - 有没有办法监视控制台应用程序的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16668863/

相关文章:

.net - DataGridView 排序和例如.NET 中的 BindingList<T>

node.js - ExpressJS 确定 IP 并解释它

c# - Entity Framework Core Cosmos Db - 如何比较字符串,不区分大小写?

c# - 为什么 `bool?` 上没有解除短路运算符?

c# - 主要权限(属性)如何工作?

node.js 中的 Ajax 文件上传

node.js - MongoDB 和 Mongoose 中边界框的数据类型?

c# - 尽管在字段中输入了数据,Request.Form 仍不返回任何值

c# - 获取联系人的 TFS 项目

c# - 光标位置函数返回错误值