如何从另一个应用程序读取内存-共享数据

本文关键字:内存 共享 数据 读取 应用程序 另一个 | 更新日期: 2023-09-27 18:10:31

我们可以内存中读取/写入数据:

static void Main(string[] args)
{
    using (var ms = new MemoryStream())
    {
        var sw = new StreamWriter(ms);
        sw.WriteLine("Hello World");
        sw.Flush();
        ms.Position = 0;
        var sr = new StreamReader(ms);
        var myStr = sr.ReadToEnd();
        Console.WriteLine(myStr);
    }
    Console.WriteLine("Press any key to continue.");
    Console.ReadKey();
}

现在我想在Ram(内存=随机访问内存)上写入数据,并从另一个应用程序n读取这些数据?
我怎么能做到这一点和共享在内存中的字符串?

重要提示:我不想在硬盘上写任何数据。
编辑:我的。net版本是3.5

如何从另一个应用程序读取内存-共享数据

更新为。net 3.5
内存映射文件在windows中已经有一段时间了,所以即使是。net 3.5也没有它们,它仍然可以包装本机api。Github项目filemap就是这样做的。不幸的是,他们没有例子如何在两个进程之间共享内存映射文件。


这个答案对于。net Framework 4.6和4.5
很有用。3.5不是
我不认为你可以在两个进程之间共享内存流。最接近的是内存映射文件。