Client Snapshot: The client is a Fortune 500, publically traded energy company. It covers over 28,000 square miles in eastern Kansas and western Missouri and provides electricity to over 1.6 million homes and businesses. Project Overview After assisting the company in the completion of Phase 1 of this project, a team of Keyhole consultants was brought in again to complete …
Configuring Hangfire’s BackGround Method for .NET Core Applications
In this article, we will go over how to install the Hangfire NuGet package within the NuGet Package Manager in Visual Studio. Then, we’ll walk through how to configure it within the .NET Core framework using Service Fabric. Lastly, we’ll learn how to use the BackgroundJob.Enqueue method in order to schedule a background task to be performed and at the same time not disturb the flow of your code.
JSON Web Token .NET Core Demo
In this post, I present a tiny .NET Core C# JWT API demo that creates and parses a JSON Web Token (JWT). A self-contained Swagger UI dashboard exercises the API.
We can’t dead-drop a JWT demo without wrapping it in words about JWT background. I’ll set the scene by introducing tokens, JWTs, and surveying session state residency tradeoffs. We’ll then migrate to, high-level JWT JWT use cases, and arguments about if or when to use JWTs.
I seek to give equal coverage to JWT upsides and downsides. Let’s get started.
Integrating Azure Functions with Cosmos DB SQL API in .NET Core 2.2
I am working on a project that leverages both Azure Functions as well as Cosmos DB. In trying to get both of these components wired together, I found that there are very few examples that work with the most recent versions of these components. I also saw examples that could work at a small scale, but don’t show industry-standard best practices, and would lead to performance issues if deployed in an environment with any meaningful traffic.
To that end, I put together this blog post showing how to set up an Azure Functions project in .NET Core 2.2 to integrate with Cosmos DB’s SQL API using its native tooling.
CI/CD for Legacy .NET Framework Apps: How to Automate Deployment Pipelines
Outdated deployment practices can slow down even the best software teams. When you’re still manually moving files between servers, it’s easy for small mistakes to slip through and updates to take longer than they should. At Keyhole Software, we’ve seen firsthand how this approach can hold back your projects. The solution is to automate deployment pipelines. It brings consistency, reliability, …



