RSSAmplifier

Blog

Kevin W. Griffin - Azure & .NET Architect

Articles on ASP.NET Core, Microsoft Azure, SignalR, and modern web development from a 17-time Microsoft MVP.

consultwithgriff.comRSS feed ↗90 posts

Latest posts

How Claude Helped Me Apply for My 17th Microsoft MVP Renewal

How I used Claude to compress a year's worth of MVP renewal busywork into something that didn't ruin my month.

How C# Strings Silently Kill Your SQL Server Indexes in Dapper

A common Dapper pattern that causes SQL Server to ignore your indexes and scan entire tables.

Engineering for System Uptime | Azure DevOps Podcast Episode 387

I joined Jeffrey Palermo on the Azure DevOps Podcast to talk about engineering for system uptime. We covered lessons learned from 20+ years of building reliable systems across military, healthcare, and ticketing industries, plus upcoming events like Hampton Roads DevFest 2026 and Stir Trek.

SQL Server Pagination with COUNT(*) OVER() Window Function

A simple SQL Server trick that eliminates the need for separate count queries when building paginated APIs.

What's New in C# 14: Extension Members

Explore how C# 14 extension members let you add computed properties to existing .NET types.

Framework 16 Laptop Review

A deep dive into the Framework 16 laptop experience, covering everything from build quality and performance to the innovative modular design that promises to revolutionize how we think about laptop ownership and sustainability.

Tech Communities, AI in Development and Roller Coasters | Fervent Four Podcast

Last week I had the pleasure of being on the Fervent Four podcast with Zack Miller and Tim Ryan. We talked about vibing coding and how AI needs to be handled the same way using offshore talent is handled. We discussed roller coasters (because of course) and the origin of my Shedquarters! And talked a lot also about the software development community in the Norfolk / Virginia Beach area.

Azure Cloud Talk Podcast: The Accidental CTO

I joined Azure Cloud Talk to chat about my journey as an 'accidental CTO' and share some honest thoughts on AI tools (including my love-hate relationship with Cursor Composer). We talked about the real challenges of software development, why I prefer stable brownfield projects over shiny new tech, and my controversial take that building greenfield software is like having a newborn – painful but…

My $8,000 Serverless Mistake

What started as a cost-effective solution ballooned into a costly oversight as Azure ramped up resources to handle the load. After this experience, I realized not every problem is a serverless problem and shifted memory-intensive tasks to Azure Container Apps, which provided better control over resources.

Azure Functions: No bindings were found in the function $func

How do you resolve a 'No bindings were found in the function $func' error when using Azure Functions?

Hampton Roads DevFest 2024 Retrospective

On May 31st, 2024, Hampton Roads DevFest successfully re-engaged the local developer community in Virginia Beach, Virginia, with 183 attendees. Organized by the non-profit RevolutionVA, the event featured local speakers and took place at the Zeider's American Dream Theater, chosen for its affordability and unique setting. Ticket sales and sponsorships, including support from Microsoft, contributed…

HttpContext Issues with Azure SignalR Service

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…

Five Reasons Why I Love HangFire

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…

Building Background Services with HangFire Course Launch!

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.

Building Windows Services in .NET 7

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!

Reconsidering Vanity Metrics

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.

Fewer Buzzwords, Better Teams

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.

SignalR Mastery Year in Review 2022

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.

Rapid Project Upgrades with the .NET Upgrade Assistant

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.

Streaming an MP4 to Twitch and YouTube with FFMPEG

In this post, I discuss how I was able to 'stream' an MP4 LIVE to YouTube and Twitch using FFMPEG

Does SignalR Guarantee Message Deliverability?

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?

SignalR AbortController is Undefined on Older Browsers

Recently, I updated a client application to the latest versions of SignalR (including the NPM module). One of our users uses a SmartTV to view the page, and it stopped working due to 'AbortController is Undefined'.

Converting Epoch Time into DateTime with Azure Logic Apps

Recently, I've been building a handful of Azure Logic Apps that work with Stripe webhooks and I've need to convert Epoch DATETIME into a more useful format.

Monitoring ASP.NET Core Application Health with Health Checks 🩺

Failures in your application often are not just because the code you wrote is bad, it's often because services or dependencies you depend on are having an issue. Health Checks in ASP.NET Core help you identify the problem areas.

🚀 Launched Today! SignalR Mastery 🚀

Do you want to become a master in building real-time applications on .NET? My new course is designed to take you on a journey through all the bits and advanced topics of SignalR, a real-time communication library built on .NET!

How to Debug CSS/JavaScript Mouse or Hover Events

You're working on an issue the requires to debug or style an element on a page that ONLY appears in the course of a hover or mouse-over event. However, when the event is not occurring, the element you want to work with does not exist in the DOM.

Managing SignalR ConnectionIds (or why you shouldn't)

One of the commons issues I see when reading questions on StackOverflow or Reddit is that many SignalR users do not know how to effectively manage connections their hubs. Or worse, they make mistakes that'll cause performance problems in the long run.

Installing .NET 5 for Beginners

Are you new to .NET, and you're looking at how to get started? This video is just for you!

How to Upgrade .NET CLI Templates

How do you update the .NET CLI templates? Turns out there is a command just for you!

Crazy Web Performance with Azure Static Web Apps and Azure Functions

With the new Azure Static Web Apps, you can include Azure Functions as a part of your deployment which gives you the best of both worlds when you deploy static sites. Crazy performance, but access to Azure Functions when you absolutely need to write a little bit of code.

Single Page Architectures with Vue.JS and ASP.NET Core

Thanks for attending my session on building Single Page Architectures with Vue.JS and ASP.NET Core.

Stockholm Clients

What happens when an amazing client turns into a nightmare client in the matter of weeks. You might be dealing with a Stockholm Client.

How to Redirect with Azure Static Web Apps

When deploying to Azure Static Web Apps, a common question that comes up is 'How do I do 301 redirects?'. Let's explore how in this simple tutorial.

I Love Azure Static Web Apps

I've spent a little bit of time working with Azure Static Web Apps in their preview phase, and it's an amazing solution to a couple core problems I had with deploying static apps.

Building Vue Services and Plugins

Thanks for attending Building Custom Vue Services and Plugins!

Adding reCAPTCHA to Static Sites with Azure Functions

My mailing list was suffering from spam signups due to an unprotected form. Since it was a static site, I needed a solution that didn't require me to host infrastructure. In this article, I'll discuss how I used Azure Functions to process reCAPTCHA tokens for my static site.

Building a Twitch Badge For My Site

I wanted viewers of my site to know if and when I was currently streaming on my Twitch channel. So I created a handy badge that tells them when I'm online. Here's how I did it!

What is Dapper, and why you should consider it for your .NET projects

I have a pretty firm opinion that if you're using a relational database with .NET, you need to have Dapper in your stack.

How do you call a stored procedure with Dapper?

Are you interested in using Dapper, but your database uses Stored Procedures? No problem!

Better Object Mapping with Dapper Resources

Thanks for Better Object Mapping with Dapper!

21st Century Background Services Resources and Replays

Thanks for attending 21st Century Background Services!

The Dev Talk Show Recap and Resources

Thanks for attending The Dev Talk Show! Here are the resources and replay from our discussion about Logic Apps and Azure development.

Talking Remote Tools for Developers with Bret Fisher

Recently, I got to hang out with my friend Bret Fisher to talk about remote tools for developers.

How to run Visual Studio Code on Mac OSX

Using Visual Studio Code on OSX? Here's how to set up the command line for Zsh or Terminal.

What Should My Consulting Termination Policy Be?

If you're working as an independent consultant or freelancer, what is a reasonable termination policy?

Enhancing Your Career with a Mastermind Group

When I quit my job to create my own business, I needed a group to help support me and give me advice. These MasterMind sessions were my key to growth and success.

Quick Introduction to SignalR Streaming

What is streaming in SignalR? I'll show you!

I Removed Email From My Phone

What's the next step after beating email addiction?

RevolutionConf 2017 Event Recap

RevolutionConf 2017 went fantastically!

Shedquarters

I upped my work at home game with a Shedquarters