Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Pragmatic Microservices with C# and Azure

You're reading from   Pragmatic Microservices with C# and Azure Build, deploy, and scale microservices efficiently to meet modern software demands

Arrow left icon
Product type Paperback
Published in May 2024
Publisher Packt
ISBN-13 9781835088296
Length 508 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Christian Nagel Christian Nagel
Author Profile Icon Christian Nagel
Christian Nagel
Arrow right icon
View More author details
Toc

Table of Contents (23) Chapters Close

Preface 1. Part 1: Creating Microservices with .NET FREE CHAPTER
2. Chapter 1: Introduction to .NET Aspire and Microservices 3. Chapter 2: Minimal APIs – Creating REST Services 4. Chapter 3: Writing Data to Relational and NoSQL Databases 5. Chapter 4: Creating Libraries for Client Applications 6. Part 2: Hosting and Deploying
7. Chapter 5: Containerization of Microservices 8. Chapter 6: Microsoft Azure for Hosting Applications 9. Chapter 7: Flexible Configurations 10. Chapter 8: CI/CD – Publishing with GitHub Actions 11. Chapter 9: Authentication and Authorization with Services and Clients 12. Part 3: Troubleshooting and Scaling
13. Chapter 10: All About Testing the Solution 14. Chapter 11: Logging and Monitoring 15. Chapter 12: Scaling Services 16. Part 4: More communication options
17. Chapter 13: Real-Time Messaging with SignalR 18. Chapter 14: gRPC for Binary Communication 19. Chapter 15: Asynchronous Communication with Messages and Events 20. Chapter 16: Running Applications On-Premises and in the Cloud 21. Index 22. Other Books You May Enjoy

Changing the serialization protocol

By default, SignalR serializes messages with JSON. Using the Microsoft.AspNetCore.SignalR.Protocols.MessagePack NuGet package, a binary serialization format can be used instead. This is an optimization that reduces the data that’s sent.

To support this, all we need to do is update the DI configuration in the service, after adding the NuGet package:

Codebreaker.Live/ApplicationServices.cs

public static void AddApplicationServices(this IHostApplicationBuilder builder)
{
  builder.Services.AddSignalR()
    .AddMessagePackProtocol();
}
// code removed for brevity

The AddMessagePackProtocol method adds MessagePack as another option for serialization. JSON is still available.

Regarding the client, the same NuGet package is required, but this time with the following configuration:

LiveTestClient/LiveClient.cs

string liveUrl = options.Value.LiveUrl ?? throw new InvalidOperationException("LiveUrl...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime