#577 – October 05, 2025
... from scratch
How to build an in memory background job queue in ASP.NET Core from scratch
18 minutes by Oğuzhan Ağır
While libraries like Hangfire or message brokers like RabbitMQ exist for this purpose, you don't need any external dependencies. In this blog post, we'll build an in memory background job queue from scratch in ASP.NET Core using only built in .NET features.
How to Implement Secure MCP Auth Without API Keys
sponsored by WorkOS
LLM tools need delegated access to act on users’ behalf. WorkOS Connect provides a compliant OAuth 2.1 flow with PKCE, scopes, consent, and secure token issuance handled through a single API.
Securing file uploads: Content type validation–a defense against malicious files
2 minutes by Bart Wullems
File uploads are a major security risk for web applications. Attackers can upload malicious scripts, bypass security controls, or consume server resources through crafted files. The solution starts with content type validation using an explicit allow-list of approved file types. This approach provides the first layer of defense, though additional validation steps like file signature checking are still needed.
Hidden costs of boxing in C#: How to detect and avoid them
5 minutes by Ali Hamza Ansari
C# Boxing and Unboxing are vital players in the performance of an application. However, they are often overlooked. They involve heap allocations that bring a penalty due to their accessing mechanism. In today's post, Ali will unfold Boxing and Unboxing in detail, study how they are costly to your application, and how to avoid such issues.
Safe zero-copy operations in C#
9 minutes by Sedat Kapanoğlu
C# offers spans, an underrated feature that enables safe and fast memory operations without unsafe code. Spans act like immutable pointers with length that eliminate bounds checking while preventing buffer overflows. They enable zero-copy operations by passing sub-views of arrays without creating new memory allocations. This makes code both faster and safer than traditional array handling.
Add .NET Aspire to an existing .NET app
4 minutes by Dinesh Gabhane
.NET Aspire can be added to existing applications without rewriting code. Dinesh provides a step-by-step guide to create a new AppHost project that acts as a control plane to manage your current services, containers, and dependencies. This eliminates manual startup processes and scattered observability. Aspire automatically handles configuration, service discovery, and container management while providing a unified dashboard for monitoring your distributed application.
And the most popular article from the last issue was: