Where SignalR would beat gRPC
SignalR is an ASP.NET Core library that enables real-time two-way communication between the client and the server. It can do everything that gRPC can do (making requests, receiving responses, streaming data to and from the client, and streaming data from the server). But in addition to this, it can also send data from the server to the client without receiving a request first.
Because SignalR runs over HTTP/1.1, it requires a persistent connection and it uses a fairly verbose JSON payload, so perhaps it's not the best tool to be used in the backend of a distributed microservice application. But it's ideal for browsers and it's relatively effortless to set up too, as we will see now.
Setting up a SignalR application
Create an ASP.NET Razor Pages project by executing the following command. This command can be executed from any folder of your choice, as this will be a standalone application:
dotnet new webapp -o SignalrApplication...