2012-12-03 51 views
1

我使用memorymappedfile,它在2個進程間通信時工作。 不過,我設置了與本地系統帳戶運行的Windows服務,我想與登錄在當前域帳戶下運行進程進行通信C#MemoryMappedFile,如何設置進程間通信的權限?

我發現accessrule和嘗試:

security.AddAccessRule(new AccessRule<MemoryMappedFileRights>(string.Concat(Environment.MachineName, "\\Administrator"), MemoryMappedFileRights.FullControl, AccessControlType.Allow)); 

也:

security.AddAccessRule(new AccessRule<MemoryMappedFileRights>("Everyone"), MemoryMappedFileRights.FullControl, AccessControlType.Allow)); 

但沒有工作,我怎麼能給予完全訪問Everyone和/或匿名登錄什麼?

+0

你可以發佈你的代碼如何打開/創建MemoryMappedFile? –

+0

可能重複的[互斥體未找到,即使當操作系統報告它存在](http://stackoverflow.com/questions/8445063/mutex-not-found-even-when-os-reports-that-it-exists) –

+0

Jared,一切都在msdn上: http://msdn.microsoft.com/en-us/library/dd997372.aspx – dnx

回答

0

我發現它!

只要把「全球\」中的段名:

「全球\ SegmentMemoryName」,並把AccessRule大家的,你就大功告成了!