About the Book
Are you a web developer or do you write Internet of things (IoT) software? If so, you would know that many web and IoT development projects these days require the ability to establish a persistent connection between a client and a server without having to keep sending repeated requests from the client. For example, a user of a live chat would want to know in real time that they have received a new message. Or an IoT device may need to be sent a command in real time.
As you may also know, such functionality may be hard to implement. However, if you can build your server-side application on ASP.NET Core, there is a way to make this whole process easy. There is a library called SignalR, which is included in ASP.NET Core.
SignalR doesn't only enable you 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 and easily readable statements.
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 to its production-ready implementation. These would 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 able to implement it.
About the Author
Fiodar Sazanavets is an experienced lead software engineer whose main area of expertise is Microsoft stack, which includes ASP.NET (Framework and Core), SQL Server, Azure, and various front-end technologies. Fiodar is familiar with industry-wide best practices, such as SOLID principles, software design patterns, automation testing principles (BDD and TDD) and microservices architecture.
Fiodar has built his software engineering experience while working in a variety of industries, including water engineering, financial, retail, railway and defence. He has played a leading role in various projects and, as well as writing software, he gained substantial experience in architecture and design.
Fiodar is an author of a number of technical books and online courses. He regularly writes about software development on his personal website, https://scientificprogrammer.net. He is also available to book for personal mentoring sessions via https://mentorcruise.com/mentor/fiodarsazanavets.