Using the BodyReader and BodyWriter in ASP.NET Core 3.0
In this post, I will describe a scenario and potential use case for the BodyReader and BodyWriter properties which are now exposed in ASP.NET Core 3.0 via the HttpContext on the HttpRequest and...
View ArticleAn Early Look at gRPC and ASP.NET Core 3.0
In this post, I want to introduce my very early experience (after a few hours of experimentation) of gRPC and ASP.NET Core 3.0. I’ve conducted some experiments as part of our quarterly Madgex hack day....
View ArticleGetting Started with gRPC Client Factory
Regular visitors of my blog will know that I’ve written a lot of posts about the HttpClientFactory feature, available in the Microsoft.Extensions.Http package which simplifies the consumption and...
View ArticleAn Introduction to System.Threading.Channels
I’ve recently begun making use of a relatively new (well, it’s a little over a year old at the time of writing) feature called “Channels”. The current version number is 4.5.0 (with a 4.6.0 preview also...
View ArticleAn Introduction to SequenceReader
In this post, I want to explore a new feature of .NET Core 3.0, which simplifies working with a ReadOnlySequence. You may find yourself using a ReadOnlySequence if you work with a PipeReader from...
View ArticleCreating gRPC .NET Core Client Libraries
This week, .NET Core 3.0 and ASP.NET Core 3.0 launched and one of the headline features is the fact that we can now easily create gRPC server applications and clients to consume them. I’ve been playing...
View ArticleUsing Configuration and Options in .NET Core and ASP.NET Core Apps
This week, my second Pluralsight course, “Using Configuration and Options in .NET Core and ASP.NET Core Apps” was released. This new course dives deeply into the configuration and options extension...
View ArticleServer Streaming with gRPC and .NET Core
In this post, I want to focus on the implementation of server streaming and client consumption of the stream when using gRPC with .NET Core. The samples in this post are based on versions you can find...
View ArticlegRPC Response Compression with ASP.NET Core 3.0
In this post, part of my gRPC with ASP.NET Core series, we’ll explore enabling response compression for gRPC services. NOTE: I’ll cover a few details about compression in this post which are from my...
View ArticleHealth Checks with gRPC and ASP.NET Core 3.0
In this post, we will explore a couple of options to apply health checks to your gRPC server running on ASP.NET Core 3.0. Health checks are a common requirement. In particular, in containerised...
View ArticleTimeZoneNotFoundException in Alpine Based Docker Images
In this post, we’re going to explore the cause of a TimeZoneNotFoundException in a .NET Core application, running on .NET Core 3.0 in an Alpine Linux Docker container. TL;DR; The default Alpine Docker...
View ArticleHigh-Performance Logging in .NET Core
In this post I will explore and highlight an approach to logging which you can apply in high-performance, high load applications to reduce the overhead of logging. A Refresher of Logging in .NET Core...
View ArticleHttpClient Connection Pooling in .NET Core
It’s been some time since I produced a HttpClient related blog post. This one has been on my list to complete for quite a while. I want to cover something pretty important which happened in .NET Core...
View ArticleYear in Review 2019
Happy new year! Another year seems to have flown by incredibly quickly. I wanted to sit down and think back to some of the highlights from the past twelve months. 2019 was a hectic year for me and...
View ArticleGetting Started with the AWS SDK in .NET Core
In this post, we’ll learn about the AWS SDK for .NET and how to get started, using it to building .NET Core applications. There are many topics introduced in this post which lay some foundational...
View ArticleBecome a Better Developer Through Blogging
Hey friends! In this post, I’m going to share my thoughts about the benefits of blogging. I’ll talk about how this activity can help you become a better developer, expand your horizons, lift your...
View ArticleC# 8.0: Understanding Using Declarations
In this post, I introduce a simple new language feature of C# 8 called using declarations. Based on the odd tweet or two that I have seen pass through my Twitter feed, this feature is like Marmite...
View ArticleBecome a Better Developer by Reading Source Code
Hey friends! In this post, I’ll share some thoughts I have concerning the conscious reading and study of source code. In my opinion, reading code is a process which can help you become a more...
View ArticleAnonymous Aware Middleware with Endpoint Routing and Healthchecks
In this post, I want to describe an approach to allow anonymous access to a health check endpoint, added using the MapHealthChecks extension on EndpointRouting. I’ll also cover how to make changes to...
View ArticleUpgrading from ASP.NET Core 3.1 to 5.0 (Preview 1)
In this post, I want to take a look at the steps required to upgrade some projects to the first preview of .NET 5 and ASP.NET Core 5.0. Both were released yesterday (16th March 2020) and are the first...
View Article