This post is for C# Advent Calendar 2020 organized by Matthew Groves. I recommend that you check out some of the other posts being published throughout December! In this post, I thought it was long overdue that I spent a little time playing around with some new C# 9 language features. C# 9 introduced quite […]
Author: Steve Gordon

Additional HTTP, Sockets, DNS and TLS Telemetry in .NET 5
In this post, I describe and demonstrate some of the new telemetry and event counters from sources such as HTTP, Sockets, DNS and TLS.

.NET Internals: System.Threading.Channels – UnboundedChannel<T> 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 complete the series and focus on how items are read from an UnboundedChannel using its UnboundedChannelReader. Other Posts in Series Part 1 – UnboundedChannel<T> Part […]

.NET Internals: System.Threading.Channels – UnboundedChannel<T> 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 continue our journey and focus on how items are written to an UnboundedChannel. Other Posts in Series Part 1 – UnboundedChannel<T> Part 2 […]

.NET Internals: System.Threading.Channels – UnboundedChannel<T> (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 patterns. Since that post, Stephen Toub, Partner Software Engineer at Microsoft, has published an in-depth blog post which shows how the feature is designed and covers common consumption […]