Shared Memory or Memory File RRS feed

  • Question

  • Hi all,

    Is it feasible for me to create a chunk of SHARED MEMORY or a MEMORY FILE in .net to share some objects across boundary of processes?  It will be great, if you can post some working samples!

    Thursday, October 27, 2005 12:57 PM


All replies

  • I hope the following links will be of help to you

    1. http://www.codeproject.com/csharp/DotNetNamedPipesPart1.asp
    2. http://www.codeproject.com/csharp/DotNetNamedPipesPart2.asp
    Thursday, October 27, 2005 1:42 PM
  • Hello Ning,

    The newest version of the .NET Framework - 2.0 [codenamed Whidbey] includes an inter-process communication channel for Remoting based on pipes.

    For more information, see System.Runtime.Remoting.Channels.Ipc [ http://winfx.msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/N_System_Runtime_Remoting_Channels_Ipc.asp ].

    Hope that helps,
    Stephen [Microsoft Common Language Runtime: Security - Developer]
    Thursday, October 27, 2005 9:36 PM
  • Stephen,

    I'd like to point your attention that not .net FW includes Channels.IPC but WinFX, that will be realized in a year
    Friday, October 28, 2005 3:43 AM
  • Hello Michael,

    Thanks for noting the documentation catch. I agree that is confusing. Please feel free to file a doc bug on that page to raise awareness of the minimum requirements.

    The IPC channel should be in the .NET Framework 2.0 AFAIK [starting in Beta 1].

    You can find more appropriate documentation [for .NET FRX 2.0] at: http://msdn2.microsoft.com/en-us/library/system.runtime.remoting.channels.ipc.ipcchannel

    There is also sample code available [C# and C++] on that link.

    Also, you can find an announcement of this functionality on the blog of Manish Godse [the developer of the IPC/Remoting channel]: http://blogs.msdn.com/manishg/archive/2004/10/05/238109.aspx

    Hope that helps,
    Stephen [Microsoft Common Language Runtime: Security - Developer]
    Friday, October 28, 2005 3:57 AM
  • Hello Ning

    I just came across this thread, and would like to suggest you visit this page:


    this technology directly addresses both shared memory in a .NET setting and data/object persistence too, you may wish to explore the current beta preview and send comments, all feedback is being used to define the next beta release, so do not hesitate in commenting including comments on the documentation.

    This technology lets you easily share data (in several ways) acrross app domains, even in different processes and it is fast too.


    Tuesday, April 25, 2006 2:17 PM
  • argh none of this is what I want. it is either server communication or serialization. I want to use shared memory to store some data in a program, much like the quick launch applications in a system tray, but only for the purposes of debugging so I don't have to reload textures and things every time I debug. All of it seems like it would be too slow or make duplicates in memory. Of course there are plenty of linux libraries, but that doesn't help this time.
    Friday, June 9, 2006 1:11 AM