加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 18:09:45 所属栏目:百科 来源:网络整理
导读:我编写了一个C# windows服务,可以将消息写入自定义EventLog或任意数量的文件.这些消息都标记有一些优先级(因此,例如,只有ERROR和WARNING存储在EventLog中,但如果需要,可以将更多内容存储到文件中). 我现在要做的是创建一个GUI,可以监听这些消息并实时显示它
我编写了一个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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读