Windows Service Plus GUI/C#

bug*_*ixr 5 c# windows-services

我见过一些作为Windows服务运行的应用程序,但仍然可以提供一个GUI,允许用户查看实际发生的情况.

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

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

有没有办法做到这一点?

Geo*_*uer 8

一些.

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

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