Last week my sixth Pluralsight course, “String Manipulation in C#: Best Practices” was released. This new course dives into creating, modifying, searching and parsing strings in .NET. Strings are one of the most used types in .NET applications and In this course, you’ll uncover everything you need to know about strings to use them effectively […]
Category: .NET
Getting Started with the Roslyn APIs: Writing Code with Code
For the last few weeks, I’ve been working on designing and developing a C# code generator. In this post, I want to explain some of the core concepts that I’ve learned so far and describe how you too, can get started with using the Roslyn APIs. NOTE: The Roslyn APIs are a niche feature of […]
ASP.NET Core Dependency Injection: What is the IServiceProvider and how is it Built?
If you’ve built applications using ASP.NET Core then you’ve most likely used the built-in dependency injection container from Microsoft.Extensions.DependencyInjection. This package provides an implementation of the corresponding abstractions found in Microsoft.Extensions.DependencyInjection.Abstractions. In the previous post, we learned about the IServiceCollection, including how service registrations are converted to ServiceDescriptors and added to the collection. We’ll continue learning about […]
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 […]