我正在处理一个应用程序,我能够使 C# 脚本在此环境中运行。我可以将任何类型的 DLL 导入到这个环境中。我的问题是我想启用这些脚本之间的通信。由于环境是受控的,而且我无法访问应用程序的源代码,所以我不知道该怎么做。
我尝试过的事情:
文件 I/O:只需将我希望每个人阅读的消息写入 .txt 文件并让其他人阅读。问题是我需要这个脚本运行得非常快,这占用了太多时间。
nServiceBus :我试过这个,但我无法让它在我正在处理的环境中工作。我并不是说它不能完成,只是我无法完成。
有谁知道一个简单的方法来做到这一点,而且速度也非常快?
最佳答案
进程间通信的方法应取决于处理每条消息的重要性。
例如,如果进程 A 告诉进程 B 向您的 IT 人员发送一封电子邮件,说明服务器已关闭,这非常重要。
如果您正在流式传输音频,则单个消息(数据包)对应用程序的性能并不重要,可以丢弃。
如果是前者,你应该考虑使用持久化存储如数据库来存储消息,让每个进程轮询数据库来检索自己的消息。这样,如果一个进程终止或暂时失去与其他进程的通信,它将能够在再次启动时检索它丢失的任何消息。
关于C# 进程间通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2443211/