30% OFF - Use code HANDSON30 for 30% off any course or Dometrain Pro! Browse courses →
  • Courses
  • Learning Paths
  • Blogs
  • Authors
  • Leaderboard
  • Dometrain Pro
  • Shopping Basket

    Your basket is empty

  • Business Portal
  • From Zero to Hero: gRPC in .NET

    Learn to build high-performance gRPC applications in .NET with this course. It covers everything from the basics to advanced concepts, using real-world examples. Ideal for developers working with APIs

    About This Course

    gRPC (gRPC Remote Procedure Calls) is a high-performance remote procedure call framework initially created by Google. Since its public release, it has become one of the three most popular approaches to building APIs, not just in .NET but in any programming language (the other two being REST and GraphQL). Its use of Protocol Buffers, Bi-directional streaming, and integrated auth has made it one of the most performance and most popular frameworks, especially regarding internal service communication. It is used by companies like Google, Netflix, Square and Cisco, to name a few, and it is also part of the Cloud Native Computing Foundation. .NET has incredible first-party support for gRPC, and every .NET engineer should know how to utilize it to build scalable, clean and performance applications with gRPC. In this course, Irina Scurtu will take you from the very basics of gRPC to some advanced concepts on how to build and run gRPC applications.

    Course Curriculum

    3h 24m 13 sections
    Welcome
    00:34 Free preview
    What will you learn in this course?
    01:17 Free preview
    Who is this course for and prerequisites
    00:34 Free preview
    What is gRPC?
    03:24
    Where gRPC fits in the API ecosystem
    00:48
    gRPC vs WCF
    00:53
    gRPC vs RESTful APIs
    02:23
    When to use gRPC
    01:54
    Introduction to Protocol Buffers
    01:11
    What is a .proto file?
    00:30
    Syntax
    02:00
    Scalar types
    01:10
    Enums
    00:48
    Well-known types
    01:31
    Nullable types
    02:00
    Any
    06:30
    OneOf
    03:33
    Language constructs
    06:14
    Creating your first gRPC project
    00:35
    Analyzing the project structure
    03:45
    Running the default template project
    00:23
    Code generation
    00:44
    gRPC types
    02:43
    Defining a gRPC service
    03:12
    Implementing a gRPC service
    02:38
    Unary Type
    01:06
    Client Streaming Type
    02:18
    Server Streaming Type
    01:33
    Bi-Directional Streaming Type
    01:22
    Creating & configuring a gRPC client project
    02:55
    What is a Channel and how can we use it?
    00:49
    Creating a channel
    00:43
    Configuring a channel
    00:46
    Creating a client
    00:56
    Consuming a Unary Type method
    01:32
    Consuming a Client Streaming method
    02:25
    Consuming a Server Streaming method
    01:58
    Consuming a Bi-Directional Streaming method
    02:25
    Setting call deadlines
    02:13
    Sending cancelation requests
    04:12
    Consuming gRPC from an MVC app
    06:14
    HTTP Request and Response in the context of gRPC
    02:35
    Metadata
    04:29
    Trailers
    03:45
    gRPC status codes
    01:55
    Treating and working with Exceptions
    02:57
    Introducing interceptors
    01:44
    Client interceptors
    01:22
    Implementing client interceptors
    06:32
    Server interceptors
    00:36
    Implementing server interceptors
    03:55
    Middlewares vs Interceptors
    01:16
    Enabling compression
    04:18
    Avoiding compression
    01:17
    Client side load balancing
    04:53
    Choosing another policy
    00:41
    Transient fault handling in gRPC
    02:57
    Implementing a retry policy
    06:49
    Implementing a hedging policy
    02:43
    Writing unit tests
    06:52
    Writing integration tests
    08:19
    Using Postman
    03:31
    Security levels
    01:56
    Adding authentication and authorization to the server
    04:31
    Provide call credentials in the client application
    04:24
    Health checks
    04:34
    Discovering services with Reflection
    05:52
    Implementing transcoding
    05:23
    grpc-web
    09:56
    Code-first gRPC
    07:39
    Conclusion
    00:45

    Meet Your Instructor

    Irina Scurtu

    Irina Scurtu

    Irina Scurtu (Dominte) is a software architect, international speaker, Microsoft MVP for developer technologies, and Microsoft certified trainer (MCT) with a wealth of experience. Having taught classes, workshops, and presentations for over 2,000 hours, Irina is passionate about coding and keeping abreast of the latest trends and best practices in software architecture and .NET. Twice a year, for five months each time, Irina teaches .NET and C# to aspiring software developers or people interested in software development or seeking to expand their knowledge. She is an active member of the community and has founded the DotNet Iasi User Group and the dotnetdays.ro conference, where she connects with like-minded developers who are eager to share their expertise and insights. Irina is also a prolific blogger, and her website, https://irina.codes, features a wealth of articles on various coding topics.

    View all courses by Irina Scurtu

    What's New

    Getting Started: Model Context Protocol (MCP)
    course

    Getting Started: Model Context Protocol (MCP)

    Learn how to get started with the Model Context Protocol (MCP) and integrate it into your applications.

    Learn more about Getting Started: Model Context Protocol (MCP)
    Hands-On: Learn TypeScript
    course

    Hands-On: Learn TypeScript

    Learn TypeScript through hands-on coding exercises. Practice what you learn with interactive challenges designed for every level.

    Learn more about Hands-On: Learn TypeScript
    Hands-On: Learn JavaScript
    course

    Hands-On: Learn JavaScript

    Learn JavaScript through hands-on coding exercises. Practice what you learn with interactive challenges designed for every level.

    Learn more about Hands-On: Learn JavaScript
    Hands-On: Data Structures & Algorithms in C#
    course

    Hands-On: Data Structures & Algorithms in C#

    Master data structures and algorithms through hands-on coding exercises in C#. Free to enroll for 7 days!

    Learn more about Hands-On: Data Structures & Algorithms in C#
    Blogsmith.ai
    feature

    Blogsmith.ai

    Turn your videos into blogs and newsletters with AI. Check out our new product at blogsmith.ai.

    Learn more about Blogsmith.ai
    Leaderboard
    feature

    Leaderboard

    See how you stack up against other learners. Track your progress, climb the ranks, and compete with the Dometrain community.

    Learn more about Leaderboard
    Hands-On: Learn PostgreSQL
    course

    Hands-On: Learn PostgreSQL

    Learn PostgreSQL through hands-on coding exercises. Practice what you learn with interactive challenges designed for every level.

    Learn more about Hands-On: Learn PostgreSQL
    Free Hands-On: C# for Beginners
    course

    Free Hands-On: C# for Beginners

    Learn C# through hands-on coding exercises. Practice what you learn with interactive challenges designed for everyone, from beginners to experts.

    Learn more about Free Hands-On: C# for Beginners
    Getting Started: AI for .NET Developers
    course

    Getting Started: AI for .NET Developers

    Get started with integrating AI into your .NET applications effectively using the latest LLM best practices.

    Learn more about Getting Started: AI for .NET Developers
    Getting Started: Building .NET Applications on AWS
    course

    Getting Started: Building .NET Applications on AWS

    Learn how to build and deploy .NET applications on AWS using CDK, Lambda, DynamoDB, S3, and more.

    Learn more about Getting Started: Building .NET Applications on AWS
    What's new in C# 14
    blog

    What's new in C# 14

    This guide covers every new C# 14 feature, explains its benefits, and provides practical code examples to help you navigate how you can use them.

    Learn more about What's new in C# 14
    Let's Build It: AI Chatbot with RAG in .NET Using Your Data
    course

    Let's Build It: AI Chatbot with RAG in .NET Using Your Data

    Build a Retrieval-Augmented Generation (RAG) chatbot that can answer questions using your data.

    Learn more about Let's Build It: AI Chatbot with RAG in .NET Using Your Data
    From Zero to Hero: SignalR in .NET
    course

    From Zero to Hero: SignalR in .NET

    Enable enterprise-grade real-time communication for your web apps with SignalR.

    Learn more about From Zero to Hero: SignalR in .NET
    Deep Dive: Solution Architecture
    course

    Deep Dive: Solution Architecture

    Master solution architecture and turn business needs into scalable, maintainable systems.

    Learn more about Deep Dive: Solution Architecture
    Migrating: ASP.NET Web APIs to ASP.NET Core
    course

    Migrating: ASP.NET Web APIs to ASP.NET Core

    A step-by-step process to migrate ASP.NET Web APIs from .NET Framework to ASP.NET Core.

    Learn more about Migrating: ASP.NET Web APIs to ASP.NET Core
    Getting Started: Caching in .NET
    course

    Getting Started: Caching in .NET

    Let's make the hardest thing in programming easy for .NET software engineers.

    Learn more about Getting Started: Caching in .NET
    From Zero to Hero: Testing with xUnit in C#
    course

    From Zero to Hero: Testing with xUnit in C#

    Learn how to test any codebase in .NET with the latest version of xUnit, the industry-standard testing library.

    Learn more about From Zero to Hero: Testing with xUnit in C#
    Create a ChatGPT Console AI Chatbot in C#
    blog

    Create a ChatGPT Console AI Chatbot in C#

    This walkthrough is your hands-on entry point to create a basic C# console application that talks to ChatGPT using the OpenAI API.

    Learn more about Create a ChatGPT Console AI Chatbot in C#