
What type of problem is SignalR designed to solve? In this video, we'll look at common issues with web applications in the past, and how SignalR can help begin to mitigate these issues.
We have a Github Repo for all the demo code in this course!
The course is ready for .NET 6, if you are!
This video discusses the bare-minimum setup for SignalR on the server as well as on the client.
In this lecture, we'll discuss how to set the logging level you need for your project and how to implement custom logging on the client when you need to override the defaults.
How many ways are there for a client and server to communicate? Turns out, there is more than one! What are the differences, and what should be your choice when moving into a new project?
This video covers how to change the transport type used by SignalR to communicate with a server.
Hub methods are the way that clients can communicate with your server. How many ways are there to create a hub method, and which one should you choose depending on the situation?
Once you've created your hub methods, how do you call them from a client? This video talks about setting up your clients to invoke or send messages to your hubs.
Communication isn't just one way! When the state changes on a server, how do you send messages to a connected client (or more)?
In this lecture, we'll discuss the connection "context" object and which properties of it you should be aware of and care about.
In this lecture, we'll discuss the various ways a HUB can communicate or send messages to one or more of the clients connected to it.
Groups are a mechanism for you logically organize connections to ensure you're sending events to only the connections you intend to. This video covers how groups work in theory, and how you can begin using them in your projects.
In this lecture, I want to caution you about the size of your payloads that move between the server and the client. We'll look at a common case I see in many projects, and why trying to send a lot of data over a connection might be a bad idea.
In this lecture, we'll discuss how long a Hub instance lives whenever you connect or access any of its methods.
The Internet is amazing, but sometimes it can be finicky. What happens when eventually your connection to the server becomes severed? This lecture discusses how to enable automatic reconnection on the client.
If you're new to ASP.NET Core, you might not be aware of the new Dependency Injection model available to you. This is crucial for building large scale applications in .NET Core or .NET 5. This lecture touches on how to use DI in your SignalR hubs.
In this lecture, we'll discuss the use of the [Authorize] attribute on hub classes and hub methods, so you can protect your endpoints from unauthorized access.
In this lecture, we'll discuss issues you might run into trying to scale your applications with SignalR. Most importantly, without any type of backplane - you won't be able to scale at all!
In this lecture, we'll walk through a demo of when multiple servers in a load-balanced set try to communicate with "all" their connected clients. When that doesn't work, we'll integrate a Redis backplane for SignalR and magically everything will begin to work as we've expected it too.
In this lecture, we'll discuss how to use ASP.NET Core Hosted Services to send notifications to connected clients via SignalR.
In this lecture, we introduce you to the .NET Client for SignalR. With an existing TypeScript/JavaScript client, we create a brand new .NET console application that is able to connect to an existing server!
In this lecture, we talk about the MATH of having multiple hubs and why it might not be the best idea for your applications.
In this lecture, we'll discuss what the Azure SignalR Service is and why you might want to consider it outside of a traditional "backplane".
In this lecture, we'll discuss the two metrics used in Azure SignalR Billing: Units and Messages.
In this lecture, we'll discuss the math of one of my clients and specifically why we didn't use Azure SignalR Service.
You probably just watched the videos on real client math and decided Azure SignalR is or isn't for you. However, there is a NEW option that didn't exist when those videos were released. In this lecture, we'll cover the new premium tier, which features auto-scaling!
In this lecture, we'll walk through creating a new SignalR Service instance in Azure!
In this lecture, we'll walk through a newly allocated SignalR Service and that aspects of the portal that are important to most developers.
In this lecture, we'll walk you through how easy it is to add Azure SignalR Service to your applications!
In this lecture, we'll talk about CORS and how to implement it with Azure SignalR Service to ensure only trusted resources are able to connect!
LiveCad is a 911 aggregation service by the National Institute of Public Safety Technology. We used SignalR underneath the scenes to send critical information to dashboards everywhere. In this video, I talk about how it works and some of the underlying infrastructure.
In this video, I sit down with Brady Gaster, the PM of the SignalR project at Microsoft. We discuss the past, present, and future state of the library.
Did you know that the Windows operating system uses SignalR underneath the scenes?
Many core Microsoft technologies depend on the real-time capabilities that SignalR provides!
Brady and I also talk tips and tricks!
Live from Tulsa .NET Users Group - July 8th, 2021
In preparation for this course, I built a small scaffold that I could use for all the demos in GitHub. If you're interested in how I built the scaffold, this video will walk you through the process.
The web isn't static. As more people live and work online, developers need to build applications that keep up with the pace of business.
In the 2000s, a static page was fine. Today? Not so much.
Imagine you're working with a product inventory app. Are other people working against the same data? Is the current price valid? Did it change a second ago? With a static page, you'd never know — refresh and hope.
What if the page could update itself? In real-time?
Once upon a time, this was complex. Today, it's as simple as opening a WebSocket. But that's where the real questions start.
How do you manage thousands — or millions — of WebSocket connections across servers? Reliably? What happens when a client can't support WebSockets? What do you fall back to? How do you scale across multiple servers?
That's where SignalR comes in.
SignalR is the .NET library for real-time web. It manages connections from web pages, mobile apps, desktop clients, and anything else you can throw at it. It handles transport fallbacks, reconnection, scale-out, and the messy plumbing — so you can focus on the actual feature.
In this course, taught by a 16-time Microsoft MVP, we'll take a structured look at how ASP.NET Core SignalR works under the hood and how to use it confidently in real-world applications.
What you'll learn:
- How SignalR works — connections, hubs, and client/server infrastructure
- Building real-time features in modern ASP.NET Core applications
- Managing connections, groups, and users
- Scaling SignalR for larger deployments
- Performance optimization and production-ready patterns
- Implementing SignalR in non-web apps (desktop, mobile, console)
All examples work across modern .NET — .NET 6, 8, 9, and beyond. The concepts are version-agnostic; the patterns hold whether you're on LTS or running the latest release.