In a past .NET Framework project, our main application ran as a Windows Service and we used WCF NetNamedPipeBinding to communicate with a WPF front end application. Since WCF won't be a part of .NET Core, how should I handle inter-process communication? The new application (worker service) needs to handle typical RPC and also push data to another process.
I'm considering the following:
Named pipes. This would work, but these are effectively streams in the API. Handling the streams and establishing a protocol seems like a pain.
gRPC, but that would involve converting a number of data models to protobuf which isn't desirable.
SignalR, but that would involve hosting an ASP.NET Core application inside my service. Seems like an overkill.
Any insight or alternatives would be appreciated!
See Question&Answers more detail:os