将事件发送到独立应用程序

Posted

技术标签:

【中文标题】将事件发送到独立应用程序【英文标题】:Send event to independent application 【发布时间】:2013-07-28 17:23:39 【问题描述】:

我正在使用外部优化器优化我用 C# 编写的仿真模型的参数。

为了让这个外部优化器“调用”我的 C# 模型,我用 C# 围绕我的模型编写了一个控制台应用程序。

外部优化对控制台应用程序进行系统调用(此应用程序的名称是外部优化器的输入)。

到目前为止一切顺利。

问题是效率不是很高:每次调用控制台应用程序时,都需要初始化我的C#模型,这需要很多时间,而实际上我想一遍又一遍地运行同一个模型(因此,初始化一次,然后只通过控制台应用程序运行它)。

我正在考虑编写另一个应用程序来初始化我的模型,继续运行并响应控制台应用程序引发的事件(即运行模型)。

如何在 C# 中将事件从控制台应用程序发送到持续运行的其他应用程序?

或者我根本不应该对事件执行此操作并使用另一种沟通方式。

【问题讨论】:

搜索词“IPC”(“进程间通信”)。 WCF、命名管道、HTTP、... 【参考方案1】:

命名管道是组织进程间通信最简单的方式,最低要求是using System.IO.Pipes

这个问题有命名管道使用的简单示例

Example of Named Pipes

【讨论】:

以上是关于将事件发送到独立应用程序的主要内容,如果未能解决你的问题,请参考以下文章

如何将打印机驱动程序转换为可以生成包含要发送到打印机的字节的打印机文件的独立控制台应用程序?

如何将数据从 Heroku 上托管的 Node.js 应用程序发送到托管在完全独立(Cpanel)服务器上的 PHP 文件?

如何将应用程序定义的消息发送到 SDL 中的事件循环?

将许多控制事件绑定到同一个处理程序,获取发送者

将 Ctrl+C 事件发送到在 Windows 上使用 QProcess 启动的进程

如何将自定义事件/信号从一个进程发送到 MacOS 中的另一个进程