Currently gRPC is described as to be a way for wcf migration, you can communicate in half streaming, full streaming. But be careful that half streaming can interrupt to collect information but it will not interrupt all the process on the server side. From what i seen, on asp.net (there is a core version) the context. CancellationToken you will see on examples is called only when the client disconnect (closing by example), the most of time examples show how to interrupt reception from client, but if you launch an object by the grpc server with an infinite loop, it will continue to exist. It’s important to make some tests before to really mastering this.
In the other case the double streaming is here to help you, with a simple word you can stop the duplex properly.
You must identify your needs.
What else… the service used on asp.net with grpc launch a new object to each request, you must keep it in memory.
For the while i don’t know how to transmit an unknown object, but for known objects you will definite “class” used in the proto files, generate your project, and vs2019 create files for you. Currently to add this service to an existing project you must edit your project, or you will have some problems to add protobuf (*.proto) files “Sdk=”Microsoft.NET.Sdk.Web” is required.
I hope it helped you.
solved What to use instead of WCF in .NET Core? [closed]