用户应用和服务之间的SharedMemory

时间:2013-10-12 13:22:59

标签: memory shared

以下代码是为共享内存开发的。当它用于两个服务或两个用户应用程序时,它工作得很好。但是当在服务中创建内存时,应用程序找不到内存。这段代码出了什么问题?

在服务中:

    mmf=MemoryMappedFile.CreateNew("ALFMap",10000);
    bool mutexCreated;
    Mutex mutex=new Mutex(true,"ALFMutex",out mutexCreated);
    stream=mmf.CreateViewStream(0,1000);
    BinaryWriter writer=new BinaryWriter(stream);
    writer.Write("I am reza dadkhah");
    mutex.ReleaseMutex();

在用户应用中:

            using (MemoryMappedFile mmf = MemoryMappedFile.OpenExisting("ALFMap",MemoryMappedFileRights.FullControl))
            {
            Mutex mutex=Mutex.OpenExisting("ALFMutex");
            mutex.WaitOne();
            using (MemoryMappedViewStream stream=mmf.CreateViewStream(0,1000))
                {
                BinaryReader reader = new BinaryReader(stream);
                textBox1.Text=reader.ReadString();
                }
            mutex.ReleaseMutex();
            }

1 个答案:

答案 0 :(得分:0)

您是否尝试使用应用程序在文件中编写内存内容?首先尝试并确认值是否在内存中。