C# 进程间通信

标签 c# servicebus

我正在处理一个应用程序,我能够使 C# 脚本在此环境中运行。我可以将任何类型的 DLL 导入到这个环境中。我的问题是我想启用这些脚本之间的通信。由于环境是受控的,而且我无法访问应用程序的源代码,所以我不知道该怎么做。

我尝试过的事情:

  • 文件 I/O:只需将我希望每个人阅读的消息写入 .txt 文件并让其他人阅读。问题是我需要这个脚本运行得非常快,这占用了太多时间。

  • nServiceBus :我试过这个,但我无法让它在我正在处理的环境中工作。我并不是说它不能完成,只是无法完成。

有谁知道一个简单的方法来做到这一点,而且速度也非常快?

最佳答案

进程间通信的方法应取决于处理每条消息的重要性。

例如,如果进程 A 告诉进程 B 向您的 IT 人员发送一封电子邮件,说明服务器已关闭,这非常重要。

如果您正在流式传输音频,则单个消息(数据包)对应用程序的性能并不重要,可以丢弃。

如果是前者,你应该考虑使用持久化存储如数据库来存储消息,让每个进程轮询数据库来检索自己的消息。这样,如果一个进程终止或暂时失去与其他进程的通信,它将能够在再次启动时检索它丢失的任何消息。

关于C# 进程间通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2443211/

相关文章:

c# - 项目级别的 Visual Studio 解决方案文件夹

c# - Linq 组键不是唯一的

c# - 我希望能够在内部派生自一个类,但不允许其他程序集中的类派生自该类

c# - WPF 中的用户控件与控件模板

azure - 监听队列(事件驱动,无轮询)服务总线/存储队列

azure - 如何查询Azure服务总线中$DeadLetterQueue的MessageCount?

php - Azure 服务总线 PeekLock 仅五秒后就超时

c# - 使用 RegEx 提取许多电话号码

azure - 将应用程序功能服务总线触发器切换为 ReceiveAndDelete 模式而不是 PeekLock

servicebus - Microsoft Service Bus 1.1 配置向导失败 - LDAP 服务器不可用