or subscribe with
Join 19,300+ readers for one email each week.
Digests » 340
this week's favorite
In .NET 3.0 we introduced a GC.GetGCMemoryInfo API for library code to get memory load related things (this was used in ArrayPool for example) so it exposed things library folks wanted at the time. In 5.0 I got requests from folks to monitor more things about the GC. Instead of adding a bit of info each time someone asks, I really thought about the kinds of things that would help with monitoring and diagnostics and expanded the info provided by this API significantly. It also has a new overload, documented here. The returned GCMemoryInfo struct has many more properties.
In this post, we will start going a bit deeper and study the internal implementation details for UnboundedChannel<T>. While this level of knowledge is not necessary to use the Channels feature, I find it interesting and useful to seek to understand at least one layer of abstraction below my own code. I’ve previously written about this in my post “Become a better developer by reading source code“. This post will be the first of three, which explore UnboundedChannel<T>. Today, we’ll focus on the class inheritance and how an UnboundedChannel is created.
This post will show you how to implement a local list of bounced emails with AWS Simple Email Service (SES) and Azure Functions.
Today, we’ll talk about the new C# 9 feature, Records, and whether or not they can be used as DDD value objects.
This is the first article in a series where I’ll explore how the C# compiler translates async methods to IL (Intermediate Language) code, so it just works for the developers.