2012-08-17 66 views
0

我正在编写一个基于服务的应用程序,并在其中的UI应用程序。 我正在使用事件日志记录我的错误,但其中一些错误非常重要,用户应该注意。多项目应用程序,提供应用程序之间的发送信息

我需要做的是检查UI应用程序(Windows应用程序项目)是可用的,并且运行...如果它的运行,直接通过基于服务的应用程序(Windows服务项目)发送错误的UI。

现在,该怎么办?我应该采取两个步骤,首先检查用户界面是否正在运行,然后向用户界面发送信息,如类实例或字符串或二进制数据(如使用序列化),用户界面接收它。

回答

1

我觉得你的两个应用程序可以使用Socket机构相互作用。

并检查此为“正在运行”位: Checking if my Windows application is running

+0

我第一次虽然有关套接字,但它首先需要一个端口,我不想忙他们的,因为应用程序将超过服务器使用,并且他们可能需要他们,第二这两个应用都是同一台机器上,并最好使用Windows消息,如果可能的... 如果没有人回答这个问题,我认为这将是一个很好的方式 – deadManN 2012-08-17 16:27:53

+0

@deadManN窗口消息不推荐的方式去为C#,检查,如详情请参阅本文的评论(http://social.msdn.microsoft.com/Forums/en/winforms/thread/6a7915f1-42a4-4f82-a2c6-9c149c99d7f1)。而且我不担心使用所有的端口,即使在服务器上也不会经常发生,你只需要一个端口 - 它不会改变任何东西,真的。 – Qnan 2012-08-17 16:40:06

+0

@deadManN此外,如果你还是喜欢做与Windows的消息,尝试了这一点:http://ryanfarley.com/blog/archive/2004/05/10/605.aspx – Qnan 2012-08-17 16:49:33

1

如果你不介意加入一个新的DLL到您的项目,我建议看看log4net。有一个远程的appender,RemotingAppender完全符合你的需要。你只需要找到一些关于如何在UI应用程序中实现“接收器”的示例。作为额外的好处,您可以使用相同的库附加到EventLog或文件等。

+0

我不是远程,两个应用程序都在同一台机器上,我怕它需要更高的流程......这是否也用于本地应用程序消息传递? – deadManN 2012-08-17 16:25:50

+0

在这里,样本之间,我看到一些东西,但是在哪里下载这些示例代码? – deadManN 2012-08-17 16:37:10

+0

看起来像一个很好的选择,感谢信息,费利斯。 @deadManN下载源代码存档(http://mirror.arcor-online.net/www.apache.org//logging/log4net/source/log4net-1.2.11-src.zip),示例在 – Qnan 2012-08-17 16:55:56

相关问题