Are you a software engineer who needs to build a fully interactive application with real-time updates? Perhaps you are aiming to write an instant messaging app. Or perhaps you want to receive updates about someone's location in real time. Or maybe you have a fleet of responsive Internet of Things devices that you need to get to communicate in real time with each other and the server.
It is a very common challenge of modern software development. If your application isn't Interactive enough, the market will simply reject it. Most apps of today are expected to be interactive. But unfortunately, such functionality is typically hard to implement.
However, if you choose to build your server-side application on ASP.NET Core, you are in luck. There is a way to make this whole process incredibly easy. It's made easy by a library called SignalR, which is inbuilt in ASP.NET Core.
SignalR doesn't only enable us to achieve real-time two-way communication between applications. It also substantially simplifies the process of enabling all of this in the code. Under the hood, it uses various two-way communication protocols, such as WebSocket. However, it abstracts away all the implementation complexity of these protocols. To the developer, working with this library will mostly consists of writing simple, intuitive, and easily readable expressions.
In this book, we will cover everything you would need to know about using SignalR on .NET 6, so you will see how to integrate it with the the latest features on ASP.NET Core 6 and C# 10. We will cover much more than you can find in the official documentation of the library. For example, you will learn how to connect a plain WebSocket client to it, which may help you to write a client in a language that isn't officially supported.
Likewise, we will cover many concepts that aren't directly related to SignalR, but are important for its production-ready implementation. These include single sign-on, certificate authorization, logging, metrics, and scaling out. By the end of this book, you would be able to identify the situations where SignalR is the best tool for the job and you would be fully capable of implementing it.
Table of Content:
- Introduction to SignalR.
- Setting up your project.
- In-browser SignalR clients.
- External SignalR clients.
- Sending messages to individual clients or groups of clients.
- Streaming in SignalR.
- Advanced SignalR configuration.
- Securing your SignalR applications.
- Scaling out SignalR application.
- Introducing Azure SignalR Service.