Book Image

Building Blazor WebAssembly Applications with gRPC

By : Václav Pekárek
5 (1)
Book Image

Building Blazor WebAssembly Applications with gRPC

5 (1)
By: Václav Pekárek

Overview of this book

Building Blazor WebAssembly Applications with gRPC will take you to the next level in your web development career. After working through all the essentials of gRPC, Blazor, and source generators, you will be far from a beginner C# developer and would qualify as a developer with intermediate knowledge of the Blazor ecosystem. After a quick primer on the basics of Blazor technology, REST, gRPC, and source generators, you’ll dive straight into building Blazor WASM applications. You’ll learn about everything from two-way bindings and Razor syntax to project setup. The practical emphasis continues throughout the book as you steam through creating data repositories, working with REST, and building and registering gRPC services. The chapters also cover how to manage source generators, C# and debugging best practices, and more. There is no shorter path than this book to solidify your gRPC-enabled web development knowledge. By the end of this book, your knowledge of building Blazor applications with one of the most modern and powerful frameworks around will equip you with a highly sought-after skill set that you can leverage in the best way possible.
Table of Contents (10 chapters)

Creating Blazor components

In this section, we will take a closer look at how to consume the gRPC services in the Blazor WebAssembly application. But we have not yet tested that our implementation is working.

Start by simply building the solution using Ctrl + Shift + B. The solution should be built without any errors. If you see errors in your program, check that you follow all the steps correctly, or download the demo project from the GitHub folder (ch5\01_demo_implementation) to start with clean code.

First, we should test that our gRPC service is working correctly. Open the _Imports.razor file in MediaLibrary.Client and add using AutoMapper to the end of the file.

Next, open the Pages\PersonList.razor file and add the following directives to the top of the file, after the @page directive:

@using MediaLibrary.Shared.Model
@inject IMapper mapper
@inject MediaLibrary.Contracts.PersonContract
  .PersonContractClient client

The preceding code imports a namespace...