c# - Windows 服务加 GUI/C#

标签 c# windows-services

我见过一些作为 Windows 服务运行的应用程序,但仍然可以提供一个 GUI,让用户可以看到实际发生的事情。

例如,我们有一个构建报告的 Windows 服务。管理员希望看到许多统计信息,例如排队的报告数量、正在使用的 ram 数量、平均构建时间等。

我们想要做的是为管理员提供一种查看此信息的方式 - 例如可以连接到窗口服务以收集和显示此信息的应用程序......或者应用程序本身可以的方式提供自己的 GUI 并在需要时显示它。现在,该应用唯一要做的就是创建一个日志文件。

有办法吗?

最佳答案

几个。

  1. 有某种组件可以连接到您的 Windows 服务并通过远程处理将信息发送到另一个应用程序。如果你有一个 IoC 容器,巧妙地使用装饰器就可以做到这一点
  2. 使用服务总线、MSMQ、WCF、Growl 或类似的东西来广播有趣的信息。应用程序只需要知道如何 Hook 。
  3. 公开一个 HTTP 端点或其他人可以连接到 Windows 服务并下载信息的东西
  4. 或者只是创建一个单页的 WinForms 应用程序,它会经常读取日志文件并显示有趣的结果。

(请注意,最后一个是迄今为止最简单的 - 提示提示,执行此操作。)

关于c# - Windows 服务加 GUI/C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1942688/

相关文章:

c# - 设计排除非 ASCII 的正则表达式

c# - 在C#项目设置中定义我自己的环境变量

c# - 安装时自动启动 Windows 服务

c# - 启动时立即出现 Windows 服务 "Timeout"

c# - 从 Windows 服务启动 GUI 应用程序 - 窗口不出现

c# - 立即重定向到操作

c# - Npgsql/PostgreSQL : "function does not exist" error message when it does

c# - 405 方法不允许 Web API

c# - 定期运行的 Windows 服务

windows-services - 调查哪个Windows服务正在监听哪个IP和端口