我正在编写一个基于服务的应用程序,以及其中的一个 UI 应用程序。我正在使用事件日志来记录我的错误,但其中一些错误很严重,用户应该注意。
我需要检查 UI 应用程序(Windows 应用程序项目)是否可用,并且正在运行......如果它正在运行,则通过基于服务的应用程序(Windows 服务项目)将错误直接发送到 UI。
现在,该怎么办?我应该采取两个步骤,首先检查 UI 是否正在运行,然后将诸如类实例或字符串或二进制数据(例如使用序列化)之类的信息发送到 UI,然后 UI 接收它。
我认为您的两个应用程序可以使用该Socket
机制进行交互。
并检查“正在运行”位: 检查我的 Windows 应用程序是否正在运行
如果您不介意在您的项目中添加一个新的 dll,我建议您查看log4net。有一个用于远程处理的附加程序,RemotingAppender,非常适合您的需要。您只需要找到一些关于如何在您的 UI 应用程序中实现“接收器”的示例。作为一个额外的好处,您可以使用相同的库附加到 EventLog 中,或附加到文件等中。