服务 - >应用沟通。最好的方法?

时间:2009-01-28 10:58:52

标签: c# service

我正在开发某种服务器服务,它会在特定的时间范围内停止运行并停止,我需要编写一个监控应用程序来接收从同一本地主机中的服务发送的一些状态文本。

这是我第一次需要在进程之间进行通信,我一直在寻找一些方法,你认为这种情况最好吗?为什么?每个人的利弊?

  • 远程处理
  • 命名管道
  • Windows消息
  • 本地tcp连接
  • 数据库表日志(我正在使用数据库,因此这是另一种选择)
  • 磁盘上的数据文件

编辑: 我正在使用.net 2,所以伟大的wcf解决方案对我不起作用:(

2 个答案:

答案 0 :(得分:2)

见这个问题:

C# IPC Best Practises

您几乎肯定想要使用WCF。这取代了其他.Net技术,如远程处理。此外,如果您使用WCF:

  • 其他客户也可以在将来订阅该状态信息。
  • 如果您需要向外扩展,可以在另一个物理盒上运行侦听状态更新的服务。

答案 1 :(得分:1)

如果您真的只是在寻找“状态消息” - 而不是实际的客户端应用程序 - 那么您可以使用Trace / Debug.Write *语句。如果DebugView正在运行,DebugView将会启动它们,也可以在主机之间使用它们。当然,如果您以后想要保存消息,可以通过配置文件添加其他侦听器。