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 2.1 with regard to lifetime management of HTTP connections. TL;DR;HttpClient in .NET Core (since 2.1) performs connection pooling […]
TimeZoneNotFoundException 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 image does not include time zone data by default. This causes code which depends on this data to throw exceptions. If you […]
Health 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 environments, they are required so that the container orchestrator and load balancers know which services are actually functioning. This post is part […]
gRPC 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 early investigation into the options and techniques to configure calls. There may be more precise or more proficient approaches to accomplish […]