- Loading...
Sponsored by Dometrain Courses—Get 30% off Dometrain Pro with code ANDREW30 and access the best courses for .NET Developers

My new book ASP.NET Core in Action, Third Edition is available now! It supports .NET 7.0, and is available as an eBook or paperback.

Adding more extensions to Result<T>
Working with the result pattern - Part 3
In this post I show how to extend your LINQ-based result pattern code to handle more scenarios, such as Task<Result<T>> and collections of Result<T>…

Safety and simplicity with LINQ
Working with the result pattern - Part 2
In this post I show how to clean up unreadable Switch()-based result pattern code using LINQ query syntax, giving both readability and safety…

Replacing Exceptions-as-flow-control with the result pattern
Working with the result pattern - Part 1
In this post I discuss why you might want to use the result pattern, demonstrate it with a simple example and show a naïve, ugly, solution…

Major updates to NetEscapades.AspNetCore.SecurityHeaders
In this post I describe the recent major changes to NetEscapades.AspNetCore.SecurityHeaders, a NuGet package for adding security headers to your apps.…

Fixing MAX_PATH issues in GitLab
In this post I show how you can enable Git's long-path support in a GitLab job to override Window's MAX_PATH limitations which can cause git clone failures…

Preventing breaking changes in public APIs with PublicApiGenerator
In this post I show how you can use the PublicApiGenerator project to document your public API and build a snapshot unit test to prevent breaking changes…

