Todo World


Smart Generic .NET gRPC Service Client using Clean APIs and Rich POCO DTOs
Google protoc gRPC generated Service Clients

gRPC Web

As it's impossible to implement the HTTP/2 gRPC spec in the browser, in order to be able to consume gRPC services from a browser a gRPC Web Proxy is needed.

The current recommendation from the gRPC Web team is to Configure the Envoy Proxy to forward gRPC browser requests to the native gRPC endpoint, however as it adds more moving parts and additional complexity, if you're not already using envoyproxy we instead recommended using ServiceStack HTTP JSON Services, made possible since ServiceStack's gRPC Service implementations are also made available over REST-ful HTTP APIs - i.e. the lingua franca of the web.

If ASP.NET Core adds native gRPC Web support then using gRPC clients may provide a more appealing option although it wont have a clean, versatile and rich API as TypeScript Add ServiceStack Reference.

x dotnet tool gRPC Web support

If wanting to evaluate using a gRPC Web Proxy you can use generate different TypeScript and JavaScript clients using the commands below:

$ x proto-ts <url>             # TypeScript + gRPC Web Text
$ x proto-ts-binary <url>      # TypeScript + gRPC Web Binary
$ x proto-js-closure <url>     # Google Closure + gRPC Web Text
$ x proto-js-commonjs <url>    # Common JS + gRPC Web Text

Or if preferred you can use the online UI or HTTP API for generating Protocol Buffers and gRPC client proxies at

Add ServiceStack Reference

Smart Generic Typed Idiomatic JSON Service Clients using Clean APIs and Rich POCO DTOs