Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>There is number of good options:</p> <ul> <li>Message Queue</li> <li>Named Pipes (directly)</li> <li>Memory mapped files</li> <li>WCF on Named Pipes or MSMQ</li> </ul> <p>Any of those is more than fast enough so I would suggest easiest to implement.</p> <p>Message Queue (MSMQ) in my opinion is simplest to use, gives you object transfer (as opposed to streams) and gives you optional transport persistence (useful in case sender or receiver is not running). All this is true for WCF over MSMQ but WCF means more overhead, complexity and configuration involved and no additional (in this case) value.</p> <p>Send like this:</p> <pre><code>MessageQueue queue = new MessageQueue(".\\private$\\ImagesQueue"); Message msg = new Message { Formatter = new BinaryMessageFormatter(), Body = myImage, Label = "Image" }; queue.Send(msg); </code></pre> <p>Receive:</p> <pre><code>MessageQueue queue = new MessageQueue(".\\private$\\ImagesQueue"); msg = queue.Receive(TimeSpan.FromMilliseconds(100)); if (msg != null) { msg.Formatter = new BinaryMessageFormatter(); myImage = (MyImage)msg.Body; } </code></pre> <p>Queue needs to be created before use. You can do that when your application starts </p> <p>Have this in your class:</p> <pre><code>private const string queueName = ".\\private$\\ImagesQueue"; </code></pre> <p>And in application initialization/startup make sure you have your queue:</p> <pre><code>if (!MessageQueue.Exists(queueName) { MessageQueue myQueue = MessageQueue.Create(queueName); } </code></pre> <p>With this queue mechanism, Engine does not have to wait for the Viewer to complete. This would much improve perceived performance because you can generate next image (actually number of them) while previous one is still being viewed. Not so easy to achieve with memory mapped files.</p> <p>MSMQ is a standard Windows component but needs to be enabled in Windows Features.</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