C#:GUI,用于显示来自Windows服务的实时消息

我编写了一个C# windows服务,可以将消息写入自定义EventLog或任意数量文件.这些消息都标记有一些优先级(因此,例如,只有ERROR和WARNING存储在EventLog中,但如果需要,可以将更多内容存储到文件中).

我现在要做的是创建一个GUI,可以监听这些消息并实时显示它们.允许用户观看当前消息(无论其所需的优先级),而无需将所有内容存储到文件中.我假设这是一个单独的程序,在服务中有某种形式的钩子,但我不确定从哪里开始.

这是我的第一个真正的Windows服务,所以我似乎缺少一些关键字,以找出如何做到这一点…是否有任何代码示例,教程,参考,如何做这样的事情?

UPDATE
很多有用的答案,我喜欢它,有很多方法可以解决问题!我想我将实现一个基于WCF的自托管解决方案.我仍然非常关注细节,因为我正在尝试了解WCF(我相信它对我在其他项目中非常有用)…但到目前为止,我发现视频here是最多的有用的介绍方法.

解决方法

你可以做的是让windows服务有办法注册一个事件(你可以通过使用Windows Communication Foundation来实现).当您的错误出现时,它会触发该事件,并且会通知您的winforms应用程序.它被称为双工合同:

http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/0eb69998-0388-4731-913e-fb205528d374/

http://msdn.microsoft.com/en-us/library/ms731184.aspx

实际上,真正酷的是你可以通过这种方式监听多个应用程序.因此,您可以在屏幕上显示它,并让另一个应用程序记录它等,而不需要两个外部应用程序了解彼此.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...