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 […]
Category: .NET Core 3.0
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 […]
Server 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 in my complete demo application up on my gRPC Demos GitHub repository. As a bonus, we’ll make use […]
Creating 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 with gRPC locally for a little while now and really enjoy the experience. I’ve created a new talk called […]
An 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 System.IO.Pipelines. Before .NET Core 3.0, one would need to manually slice through the ReadOnlySequence from the Buffer property on the ReadResult. […]