ASP.NET Core 5 Features – Introducing HttpProtocol
In this blog post, which will be a quick read, I’m going to begin what I expect to be a long-running endeavour, to dig into new APIs available in .NET 5 and ASP.NET Core 5.0. This time, I’m going to...
View ArticleBuilding ASP.NET Core Hosted Services and .NET Core Worker Services
I’m excited to announce the release of my third and latest course at Pluralsight! This new course covers building ASP.NET Core hosted services and .NET Core worker services. When I first pitched the...
View ArticleUsing HttpCompletionOption to Improve HttpClient Performance in .NET
In this blog post, I want to get back to an area I genuinely enjoy, exploring the use of HttpClient within your .NET applications. I’ll explain how you can optimise the performance of HttpClient when...
View ArticleA Lesson Learnt: Test Explorer Processor Architecture Settings
I recently posted about the process to upgrade from ASP.NET Core 3.1 to ASP.NET Core 5.0 (preview 1) and mentioned that I had an issue with running my unit tests from Visual Studio 16.6 (preview 1)....
View ArticleWhat Are .NET Worker Services?
With the release of .NET Core 3.0, the ASP.NET team introduced a new “Worker Service” project template, which is available as part of the SDK. In this post, I’ll introduce the new template, along with...
View ArticleSending and Receiving JSON using HttpClient with System.Net.Http.Json
In this post, I will introduce a new library, called System.Net.Http.Json, which has been added to .NET in the last few days. We’ll look at the problem which this library helps to solve. We’ll then...
View ArticlePluralsight #FreeApril: Month-Long Free Access to 7000+ Courses
TL;DR – Pluralsight is offering a free, month-long trial during April. Sign up for your free trial here. My regular readers and followers will know that for the last year and a half or so, I’ve been...
View ArticleHow are .NET APIs Designed?
In this post, I want to cover something which I find extremely interesting. How are .NET APIs Designed? Sounds exciting… right? Perhaps you’re thinking no, it’s not and you are planning to hit that...
View ArticleCreating a ReadOnlySequence from Array Data
WARNING: This blog post is informational and relevant to those with an inquisitive mind but should be considered experimental. The code presented here is not suited to most real-world situations, not...
View ArticleDo We Have an Obsession with Ducks in Software Development?
Excuse the slightly unusual blog post, but we are living in quite unusual times as I write this. I thought this post might be a mood lightener for a few of my regular readers! With that, let’s explore...
View ArticleCredential Loading and the AWS SDK for .NET (Deep Dive)
In this post, I want to dive into how the AWS SDK for .NET attempts to load credentials for any service clients which you use in your applications. I’m going to focus specifically on .NET Core...
View ArticleArchitecting a Cloud-Native Service with .NET and AWS
At Madgex, we are currently building out v6 of our world-leading job board software. With v6, we are breaking the monolith and applying a microservices architecture. This architecture supports rapid...
View ArticleDeep Dive: How is the ASP.NET Core Middleware Pipeline Built?
If you’ve ever used ASP.NET Core, then you’ll likely be familiar with the Startup class. This class, by convention, includes at least one method named Configure. Often, a ConfigureServices method is...
View Article.NET on AWS: Pushing a .NET Docker Image to Amazon ECR
In this post, I’ll introduce Amazon ECR and explain how to use it as a registry of Docker images, ready to run your .NET applications in the cloud. In future posts, we’ll learn more about the options...
View Article.NET on AWS: Introducing Docker ECS Integration
Last week I read about a new Docker ECS Integration experience, and it piqued my interest. I immediately put it onto my list of things to try out and experiment with. After spending an hour or so with...
View ArticleIntegration Testing ASP.NET Core Applications: Best Practices
I’m excited to announce the release of my fourth course at Pluralsight – “Integration Testing ASP.NET Core Applications: Best Practices“. This latest course focuses on using the ASP.NET Core...
View Article.NET Performance Optimisations Don’t Have to be Complex
Readers who have followed me for some time will know that I have developed a bit of a passion for performance improvements and avoiding allocations in critical code paths. Previous blog posts have...
View Article.NET Internals: System.Threading.Channels – UnboundedChannel (Part 1)
In a previous post, I introduced System.Threading.Channels and explained how it can be used. At a high-level, it provides a modern, optimised asynchronous API for in-process publisher/subscriber...
View Article.NET Internals: System.Threading.Channels – UnboundedChannel Part 2
In part 1 of this mini-series, we began to explore the internals of the UnboundedChannel<T> type, learning about its class hierarchy and how an instance can be instantiated. In this post, we’ll...
View Article.NET Internals: System.Threading.Channels – UnboundedChannel Part 3
In the previous post in this mini-series, we learned how items are written to an UnboundedChannel<T>. We explored the UnboundedChannel<T> type itself in the first blog post. Today I will...
View Article