Using gRPC should allow for better interop between languages and the host/client processes with support for bidirectional streaming, flow control, and comparatively better error handling. This will upgrade communication to HTTP/2 and require additional codegen for supporting protocol buffers.
Microsoft has a tutorial here explaining how to support this with existing C#/MSBuild projects, though this may be a better migration path for #2.
Using gRPC should allow for better interop between languages and the host/client processes with support for bidirectional streaming, flow control, and comparatively better error handling. This will upgrade communication to HTTP/2 and require additional codegen for supporting protocol buffers.
Microsoft has a tutorial here explaining how to support this with existing C#/MSBuild projects, though this may be a better migration path for #2.