December 12, 2023 · 3 min read
Last week, the team and I were migrating an application built with ASP.NET Core and SignalR to use the Azure SignalR Service. We ran into an issue with the HttpContext when using Azure SignalR Service. Unlike in a normal SignalR integration, where you can access HttpContext via IHttpContextAccessor in the Hub class, with Azure SignalR Service the connection changes, affecting the available HttpContext data. This required a shift in our approach, leading us to directly pass the necessary information from the client to the hub.
June 21, 2023 · 5 min read
Setting up HangFire in my .NET applications is effortless. This library helps me offload the strenuous tasks from my web applications by establishing background services using my existing code without requiring special interfaces. Its dashboard is handy for managing jobs and gives me a clear view of the active, failed, and scheduled jobs. For scheduling and recurring jobs, HangFire provides flexible configurations. If it fails, it'll make multiple attempts to run a job, making debugging a breeze for me.
April 3, 2023 · 2 min read
As I've been going on the road to talk about background services within the .NET ecosystem, one of my favorites has HangFire. I've been using HangFire in my applications for years, and it's been a vital tool for offloading some of the heavy lifting from my web applications.
December 6, 2022 · 5 min read
In preparation for my latest talk on Tactics for Building Background Services in .NET, I've been working on a sample project to demonstrate the concepts. It's amazing how much easier it is to build Window Services today than it used to be!
November 23, 2022 · 7 min read
I have an obsession with vanity metrics. They're not supposed to be useful, but I think there is an excellent arguement for tracking them.
November 18, 2022 · 4 min read
Our team with one product grew to include two new teams. This meant more people, larger tech stack, and more complexity when it came to support and future growth.
January 17, 2022 · 4 min read
In 2021, I released SignalR Mastery on Udemy. After the first year, I wanted to take a moment to reflect on my journey of building and releasing the course.
December 8, 2021 · 5 min read
I knew that I wanted to move this application to .NET 6, as it would be the new LTS version, and I was foregoing several dependency updates. In particular, there was one dependency that was still based on .NET Framework that was giving me concern. It never made the jump to .NET Standard, so I worried about future compatibility.
It was during the amazing Visual Studio 2021 launch video, I saw mention of the .NET upgrade assistant. Now - I feel like a fool because this tool has been around for a while, but it was getting an update to support .NET 6.
Maybe this was the tool that would help us go live with .NET 6?
April 9, 2021 · 2 min read
Recently, I regained some of the rights to some video courses I've built over the past two years. Because this was specially created content, I wanted to see if there was a way that I could distribute it that was more than just "posting it on YouTube".
April 6, 2021 · 4 min read
Kevin, I have two clients. Client 1 sends a message to client 2. Client 1 loses its connection to the server. Client 2, during this time, sends a message to Client 1. That message is lost because Client 1 was disconnected. How can we solve this problem?