#413 – May 01, 2022
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.
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.
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?
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.
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.