Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>IPC in .Net can be achieved using:</p> <h1>WCF</h1> <p>using named pipes <strong>requires .Net 3.0</strong> and above.</p> <h2>Code example</h2> <ul> <li>The WCF class <strong>NetNamedPipeBinding</strong> can be used for interprocess communication on the same machine. The MSDN documentaion for this class includes a code sample covering this scenario <a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.netnamedpipebinding.aspx" rel="noreferrer">http://msdn.microsoft.com/en-us/library/system.servicemodel.netnamedpipebinding.aspx</a></li> </ul> <hr> <h1>Remoting</h1> <p>The original IPC framework released with .Net 1.0. I believe remoting is no longer being actively developed, and you are encouraged to use WCF instead</p> <h2>Code example</h2> <p><a href="http://www.codeproject.com/KB/threads/process_communication.aspx/process_communication.aspx" rel="noreferrer">Inter-process communication via Remoting</a> - uses a tcp channel</p> <h2>Resources</h2> <ul> <li>GenuineChannels, sell a remoting toolkit that includes a Shared Memory Channel. <a href="http://www.genuinechannels.com/Index.aspx" rel="noreferrer">http://www.genuinechannels.com/Index.aspx</a></li> <li><a href="http://www.thinktecture.com/resourcearchive/tools-and-software/dotnetremotingprojects" rel="noreferrer">Ingo Rammer</a>, wrote the definitive .Net remoting book, <a href="http://rads.stackoverflow.com/amzn/click/1590594177" rel="noreferrer">Advanced .NET Remoting, Second Edition </a></li> </ul> <hr> <h1>Win32 RPC using csharptest-net RpcLibrary</h1> <p>I came across a project recently that has wrapped the Win32 RPC library and created a .net class library that can be used for local and remote RPC</p> <p><strong>Project home page</strong>: <a href="http://csharptest.net/projects/rpclibrary/" rel="noreferrer">http://csharptest.net/projects/rpclibrary/</a> </p> <p><strong>MSDN references:</strong></p> <ul> <li>How rpc works: <a href="http://technet.microsoft.com/en-us/library/cc738291(v=ws.10).aspx" rel="noreferrer">http://technet.microsoft.com/en-us/library/cc738291(v=ws.10).aspx</a></li> <li>RPC functions: <a href="http://msdn.microsoft.com/en-us/library/aa378623(v=VS.85).aspx" rel="noreferrer">http://msdn.microsoft.com/en-us/library/aa378623(v=VS.85).aspx</a></li> </ul> <p>Also has a google protocol buffers rpc client that runs on top of the library: <a href="https://code.google.com/p/protobuf-csharp-rpc/" rel="noreferrer">https://code.google.com/p/protobuf-csharp-rpc/</a> </p> <hr> <h1>WM_COPYDATA</h1> <p>For completeness it's also possible to use the WIN32 method with the <a href="http://msdn.microsoft.com/en-us/library/ms649011.aspx" rel="noreferrer">WM_COPYDATA</a> message. I've used this method before in .Net 1.1 to create a single instance application opening multiple files from windows explorer.</p> <h2>Resources</h2> <ul> <li><a href="http://msdn.microsoft.com/en-us/library/ms649011.aspx" rel="noreferrer">MSDN - WM_COPYDATA</a></li> <li><a href="http://www.codeproject.com/KB/cs/wm_copydata_use.aspx" rel="noreferrer">Code example</a></li> <li><a href="http://www.pinvoke.net/search.aspx?search=wm_copyData" rel="noreferrer">PInvoke.net declaration</a></li> </ul> <h1>Sockets</h1> <p>Using a custom protocol (harder)</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload