我正在使用 C dll 来挂钩全局 Windows 事件,下一步是将一些事件数据(不是很大)发送到 C# 应用程序。
由于我希望这种通信尽可能快,因此我正在分析两个选项:命名管道和内存映射文件。
我知道 .NET 4 以本机方式带来了 MMF,但我必须以 .NET 2 为目标,因为 Win98 客户端的存在仍然是可能的。我也知道有一些方法可以通过 Windows API 使用 .NET 2 来管理 MMF(有些人甚至为它构建了一些包装器)。
在这种情况下,我想知道:
- 选择命名管道而不是 MMF 有什么大的缺点(主要是性能)吗?重要的是要记住我不会传输大量数据;
- NP 或 MMF(针对 .NET 2)是否涉及任何安全问题?
- 还有比这些更好的选择吗?