【问题标题】:Communication between C# applications - the easy wayC# 应用程序之间的通信 - 简单的方法
【发布时间】:2011-01-06 03:35:03
【问题描述】:

我有两个 C# 程序,我想在它们之间来回发送一些数据。 (并检查数据是否到达其他应用程序。) 这两个程序将始终在同一台计算机上运行,​​因此不需要网络功能。我已经在这里阅读了一些类似主题的问题,但我不完全确定哪种方法适合我。 (WCF、远程处理等)

我想知道,对于 C# 初学者来说,哪个更容易实现? (反正我不希望它变得太复杂,我想发送的只是几个整数和一些文本。)

如果在难度上没有真正的区别,那么一个比另一个有什么优势?

我也非常感谢一些简单的示例代码。

提前致谢。

【问题讨论】:

  • 没有什么可添加到 WCF 建议中,但远离远程处理。 WCF 的消息传递比 Remoting 对其他应用程序对象的亲密操作更受欢迎。

标签: c# communication


【解决方案1】:

WCF 本质上将应用程序之间的各种通信方法(Web 服务、远程处理、MSMQ 等)打包在一个包中,因此它们在编程上的使用方式相同,以及使用何种方法的详细信息used 用于配置之间的绑定。可能会稍微简化一下,但本质上是关于它的内容。

如果您需要进程间通信,则值得进入 WCF,这当然是我对如何解决此问题的建议。 IDesign 值得一看,他撰写了许多关于该主题的文章,以及一些可重用的代码库,您可能会发现它们很有用。他们的 Juval Lowy 还就此主题写了excellent book,

【讨论】:

  • 感谢您的快速总结和链接,它确实有助于更好地了解 WCF。
【解决方案2】:

您可以使用Pipes 在应用程序的不同实例之间发送数据。如果您只需要告诉另一个实例发生了什么事,您可以使用 SendMessage api 从一个应用程序向另一个应用程序发送消息。

【讨论】:

  • 最佳建议,简单可靠。忘记 WCF,它的过度设计可笑。
  • 请注意msdn 表示匿名管道被定义为单向管道。
  • 我希望我能投票两次。 WCF 真是一头猪,如果这是我唯一的选择,我宁愿使用文件丢弃来进行应用程序通信。
【解决方案3】:

关于 WCF 的另一个好处是,如果您的需求发生变化并且突然之间您必须将其中一个应用程序移动到另一台机器上,现在需要网络功能,您只需更改双方的配置,而不是不得不重新编码。

另外,David 说,WCF 是一个可以放在包里的好工具。

干杯,瓦格纳。

【讨论】:

    【解决方案4】:

    我发现 MSMQ 很容易实现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-06
      • 1970-01-01
      • 1970-01-01
      • 2017-04-09
      • 2016-07-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多