Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
35 lines (28 sloc) 1.79 KB
title author description monikerRange ms.author ms.date uid
Introduction to gRPC on ASP.NET Core
juntaoluo
Learn about gRPC services with Kestrel server and the ASP.NET Core stack.
>= aspnetcore-3.0
johluo
02/26/2019
grpc/index

Introduction to gRPC on ASP.NET Core

By John Luo

gRPC is a language agnostic, high-performance Remote Procedure Call (RPC) framework. For more on gRPC fundamentals, see the gRPC documentation page.

The main benefits of gRPC are:

  • Modern high-performance lightweight RPC framework.
  • Contract-first API development, using Protocol Buffers by default, allowing for language agnostic implementations.
  • Tooling available for many languages to generate strongly-typed servers and clients.
  • Supports client, server, and bi-directional streaming calls.
  • Reduced network usage with Protobuf binary serialization.

These benefits make gRPC ideal for:

  • Lightweight microservices where efficiency is critical.
  • Polyglot systems where multiple languages are required for development.
  • Point-to-point real-time services that need to handle streaming requests or responses.

While a C# implementation is currently available on the official gRPC page, the current implementation relies on the native library written in C (gRPC C-core). Work is currently in progress to provide a new implementation based on the Kestrel HTTP server and the ASP.NET Core stack that is fully managed. The following documents provide an introduction to building gRPC services with this new implementation.

Additional resources

  • xref:grpc/basics
  • xref:tutorials/grpc/grpc-start
  • xref:grpc/aspnetcore
  • xref:grpc/migration
You can’t perform that action at this time.