【问题标题】:Event driven InterProcess Communication (IPC)事件驱动的进程间通信 (IPC)
【发布时间】:2014-03-28 17:18:16
【问题描述】:

我正在创建一个 C# .NET 应用程序(单线程)。我需要从在同一台计算机上运行的现有 MFC 应用程序接收数据。我的 .NET 应用程序是由一些 Windows 窗体对象(如按钮等)以及串行端口输入驱动的事件。因此,例如,仅当有新的串行数据时才调用我的事件处理程序。我想知道是否有可以以事件驱动方式设置的 IPC 机制?我正在查看命名管道,但在网上没有看到其他人以这种方式使用它的任何示例。

【问题讨论】:

  • 旁注:不要在以后的帖子中添加标签到标题和skip thank you notes/tagline。
  • 对于套接字和命名管道也是如此,您将使用 BeginRead()。收到东西时回调运行。

标签: c# .net ipc named-pipes


【解决方案1】:

WCF 包含处理callbacks and events 的机制。如果您在本地计算机上,可以将其配置为在命名管道上工作,这使其非常快速和高效。

【讨论】:

  • 谢谢,我阅读了 WCF 并且看起来这是用于加载接口的首选 API。谢谢。
  • 我确实有一些后续问题。我查看了几个使用命名管道的 WCF 简单示例。我想知道是否可以使用像我现有的 MFC 应用程序这样的非 .NET 应用程序来与 WCF 命名管道进行通信?在我看到的示例中,我没有看到明确给出的名称,所以我对 MFC 应用程序的连接方式有点困惑。
  • 此外,该示例具有更高级的接口,允许从客户端调用函数。我不知道 MPC 应用程序如何知道这个接口。我期待它更像是串行通信 - 只是从管道读取和写入字节。
  • @MichaelBauer 让非 .NET 客户端连接到 WCF 很困难(尽管并非不可能)。通常使用 C++/CLI 或 COM 更容易让您使用 .NET 代码编写客户端,并从您的 MFC 项目中访问它。
  • 该链接现在重定向到有关 Microsoft 杂志的通用页面。
猜你喜欢
  • 2011-08-25
  • 2015-08-11
  • 2011-03-22
  • 1970-01-01
  • 2011-08-28
  • 1970-01-01
  • 1970-01-01
  • 2016-09-11
  • 1970-01-01
相关资源
最近更新 更多