#555 – May 04, 2025
Is it a top choice for many developers?
Why C#?
39 minutes by Dr Milan Milanović
C# is a modern, multi-paradigm programming language that has evolved to become a top choice for many developers. It has grown beyond its origins to offer a versatile, powerful, and developer-friendly experience. In this article Milan dives into C# overview and it's benefits.
Creating a 'pooled' dependency injection lifetime
15 minutes by Andrew Lock
Andrew creates a proof-of-concept implementation where pooled services are reused across requests, limited to a maximum number of instances, and reset between uses via an IResettableService interface.
How to secure your .NET applications
5 minutes by Adrian Bailador
Securing your .NET applications is not optional – it’s essential. Adrian covers practical strategies and tools you can apply right now to make your applications safer and more resilient.
Using YARP as BFF within .NET Aspire
8 minutes by Tim Deschryver
Tim explains how to implement the Backend for Frontend (BFF) pattern using YARP (Yet Another Reverse Proxy) within a .NET Aspire project. He demonstrates how to create a YARP gateway that routes requests to backend services, leveraging Aspire's service discovery to avoid hardcoding URLs, which offers benefits like eliminating CORS issues, improving security, and simplifying authentication for frontend applications.
Avoiding WPF image control local file locking
6 minutes by Rick Strahl
A common issue in WPF applications is when image controls lock files when displaying images from disk, preventing file updates or deletions. Rick presents two solutions: using a BitmapImage with CacheOption="OnLoad" in XAML, or implementing a custom LocalFileImageConverter that handles proper image loading without locking.
And the most popular article from the last issue was: