1

以下のコードは、共有メモリ用に開発されました。2 つのサービスまたは 2 つのユーザー アプリで使用すると、かなりうまく機能します。ただし、メモリがサービスで作成されると、アプリケーションはメモリを見つけることができません。このコードの何が問題になっていますか?

使用中:

    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();
            }
4

1 に答える 1

0

アプリケーションを使用してメモリの内容をファイルに書き込んでみましたか? 最初にそれを試して、値がメモリにあるかどうかを確認してください。

于 2013-12-19T09:49:11.473 に答える