Send message from one app to another
What's the easiest method for sharing data between applications? MessageQueue looked promising, but it doesn't appear available in Core.
I need to be able to send data between different applications that are using both Core & Framework. So, Core<->Core, Core<->Framework communication. Can't use cloud services, although RabbitMQ could be used if there's nothing well supported natively or current on Nuget.
10 Replies
You can use pipes
Specifically named pipes
AKA IPC (inter-process communication)
How to: Use Named Pipes for Network Interprocess Communication - .NET
See two examples of using named pipes for interprocess communication between a pipe server and one or more pipe clients in a network.
There was something I saw about using different names for the pipes and that the default implementation really only supported single connections
It does not, no.
I might take a look at Rabbit then
Rabbit?
I'd rather suggest using Named Pipes
Why's that?
You don't need a 3rd party library as it is included in System.IO.Pipes already
However you do you, if you feel like RabbitMQ suits your needs then go for it!
RabbitMQ is extreme overkill for this
use named pipes or a unix socket
You can also use a memory-mapped file, depending on what you need.
https://learn.microsoft.com/en-us/dotnet/standard/io/memory-mapped-files
Memory-Mapped Files - .NET
Explore memory-mapped files in .NET, which contain file contents in virtual memory, and allow applications to modify the file by writing directly to the memory.