One email per week, 5 links.

Do you want to keep up to date with the latest trends of Microsoft .NET development?

But keeping up to date with all the blogs, podcasts, and articles is time consuming so why not let someone else curate the content for you?

With our weekly newsletter you will get 5 top stories hand-picked into your inbox every Monday with topic ranging from C#, .NET, and CLR, the world of web and cloud with ASP.NET, Blazor, and Azure and app development with WPF, Xamarin, and UWP.

Escape the distractions of social media and own your focus. Check out the latest issue and subscribe!

C# Digest#381

sponsor

How To Desktop in 2022

Do you want to look into the future? The global pandemic is behind us, Microsoft stack, .NET 6, .NET MAUI are out and you are tasked to start a greenfield desktop app project today. What would you use? Let’s explore technology stacks for desktop apps—with the lens of three types of developers and how Indian bread may be served. Check out the post!

this week's favorite

Strong Typing

C# is a language that started out in the style of Java with strong typing and very little extra. Over time it has added features in a careful and thoughtful way to include things that you might not associate with a strongly typed, "traditional" object-oriented language.

Introduction to System.Text.Json through examples

Starting from ASP.NET Core 3.0. the new System.Text.Json library has been shipped with the framework, and it’s only getting better over time. The library comes integrated with the latest version of the .NET framework, so it helps to eliminate outside dependencies for handling JSON. It’s a lightweight library that focuses on simple functionality and performance.

Processing large payloads with the claim check pattern

How do you handle processing large payloads? Maybe a user has uploaded a large image that needs to be resized to various sizes. Or perhaps you need to perform some ETL on a text file and interact with your database. One way is with a Message broker to prevent any blocking from calling code. Combined with the Claim Check Pattern to keep message sizes small to not exceed any message limits or cause performance issues with your message broker.

Async processing of long-running tasks in ASP.NET Core

Sometimes, invoking an API endpoint needs to trigger a long-running task. Examples of this could be invoking an external and slow API or sending an email, which you don't want the caller of your API to wait for. There are multiple ways of implementing this using a message broker, a fire and forget API request, or something completely third. In this post, I'll show you how to implement async processing in ASP.NET Core, using a queue and the Background Worker feature.

Enabling command line completions with dotnet-suggest

I recently removed the hand-written command line parser from C# REPL and replaced it with the more standard System.CommandLine NuGet package. As part of this, it gained dotnet-suggest support. I couldn’t find much online discussion about dotnet-suggest, so I’m jotting down some notes here.