Digests » 413


Free version of 'Learning Blazor' eBook

Do you want to improve your knowledge about Blazor? This ebook will give you deeply technical content on how to use Blazor WebAssembly to develop next-generation web experiences from scratch. Download the early release now.

this week's favorite

Long-running tasks in a monolith ASP.NET core application

Often we come across scenarios where invoking a Web API endpoint triggers long-running tasks. In this article, we’re going to explore the different ways we can implement such a long-running task in an ASP.NET Core Web API.

C# code rules

The C# Compiler’s name is Roslyn. Roslyn has a very large set of analyzers to check the quality of your code, but you must turn these analyzers on before they start doing anything. This post gives you some quick information on why it’s important to turn these analyzers on in your C# projects, how to do that, and how to configure them.

Improving test observability with Fixie and Seq

For years now it’s been possible to forward logs from Serilog to xUnit’s ITestOutputHelper, but in doing so we lose the structure that makes structured logs great. How can we get the best of both worlds - the advantages of ITestOutputHelper and the analysis capabilities of a local structured log viewer like Seq?

A practical guide to .NET memory management system

There was a time when memory was a slow, rare and expensive resource, so it was necessary to write code as performant as it could get, making them a lot harder to read and maintain. This scenario becomes very evident when we see that Apollo 11 main computer had only 4kb RAM.

Async and async void event handling in WPF

Async usage in C# is the recommended way to build UI based applications. But if you're using an older platform like WinForms or WPF, event handling still relies on the older decidedly non-async event delegate processing. In the past I've written about pitfalls when using async with WPF specifically a while back in the context of porting a commercial application - Markdown Monster - from mostly sync code to mostly async.