我已经看到一些应用程序作为Windows服务运行,但仍然可以提供一个GUI,允许用户查看实际发生的情况。
例如,我们有一个构建报告的Windows服务。管理员希望看到许多统计信息,例如排队的报告数量,使用的ram数量,平均构建时间等。
我们想要做的是为管理员提供一种方法来查看此内容 - 例如可以连接到窗口服务以收集和显示此信息的应用程序......或者可能是应用程序本身可以使用的方式提供自己的GUI并在需要时显示它。现在,应用程序唯一能够创建日志文件。
有办法做到这一点吗?
答案 0 :(得分:8)
几种。
(请注意,最后一个是迄今为止最简单的提示提示,请执行此操作。)
答案 1 :(得分:0)
理想情况下,服务与用户界面完全分开,原因很多,我不会介入。
但是,您可以使用某种方式查看此类信息。我的建议是使用Remoting从服务中请求所需的数据,然后根据需要将任何报告或图表构建到单独的应用程序中。
答案 2 :(得分:0)
不允许服务进行UI API调用(除了一种特定形式的消息框)。所以看起来具有wser接口的服务实际上是两个进程。服务进程使用某种专有的反向通道与标准Windows APP进行通信。可以是命名管道,套接字或命名共享内存块。