Blog Logo
TAGS

Generating the Response Writing Expression for RequestDelegate Behind the Scenes of Minimal APIs

In this post, well start looking at how RequestDelegateFactory.Create() creates the final RequestDelegate, focusing on the different expressions that are generated depending on your handlers signature...

Read more...

Easy Way to Implement Second-Level Cache in Entity Framework

This article explains how to easily implement second-level caching in Entity Framework by adding an extension method for the IQueryable interface. Second-level caching is a technique that stores datab...

Read more...

SimdLinq - Extremely Fast LINQ Aggregation Operations with SIMD

SimdLinq is a drop-in replacement for LINQ Sum, Average, Min, and Max operations that use SIMD to provide significantly faster performance. This library supports various data types, including byte, sh...

Read more...

Using Rate Limiting in Asp.Net Core Minimal APIs

In this blog post, we will learn about Rate Limiting and how we can implement it in Asp.net Core Minimal API. Rate limiting is the process of limiting how much a resource can be accessed. It is based ...

Read more...

Setting up and Using MassTransit with RabbitMQ in ASP.Net Core

MassTransit is a powerful message-based communication library for using RabbitMQ as the message broker. This article explains how to set up MassTransit in an ASP.NET Core application to send and recei...

Read more...

StructureOfArraysGenerator - Generating Cache and SIMD Friendly Data Structures for High-Performance Code in .NET and Unity

StructureOfArraysGenerator is a source generator that generates structure of arrays (SoA) data structure in .NET and Unity. The standard C# array is an array of structures (AoS), whereas the SoA is mo...

Read more...

Generating argument expressions for minimal APIs

In this post, we dive into the generating argument expressions for minimal APIs. We explore the CreateArgument() method responsible for defining how model-binding works in minimal APIs. We look at hal...

Read more...

QueryR - Simple Interface for Ad Hoc Queries

QueryR provides a simple interface for executing ad hoc queries against IQueryable implementations, allowing end-users to create custom queries without increasing solution complexity. It supports filt...

Read more...

Eliminate Your STRINGLY-Typed Obsession with Semantically Strong C# Code

Do you find yourself tired of dealing with STRINGLY-typed values in your .NET code? Have you heard of the Primitive Obsession anti-pattern and want to put an end to this suffering? In this article, we...

Read more...

Guide to Projections and Read Models in Event-Driven Architecture

In this article, Oskar Dudycz explains the significance of projections in event sourcing and how they allow the interpretation of a set of facts. He also highlights how data exploration, together with...

Read more...

Arch - High-performance C# based Archetype & Chunks (ECS) for game development and data-oriented programming

# Arch Arch is a high-performance C# based Archetype & Chunks [Entity Component System](https://www.wikiwand.com/en/Entity_component_system) (ECS) for game development and data-oriented programming. ...

Read more...

Arch.Extended - Extension Package with Utilities and New Features

Arch.Extended is a comprehensive extension package that enhances the functionality of Arch by providing numerous utilities and introducing several new features. The package is designed to make the use...

Read more...

Exploring the Model-Binding Logic of Minimal APIs

In this post, Andrew Lock delves into the code behind the model-binding logic of minimal APIs. He takes us through the key steps involved in creating the RequestDelegate for an ASP.NET Core applicatio...

Read more...

Flurl - A Modern URL Builder and HTTP Client Library

Flurl is a versatile and flexible URL building and HTTP client library that is optimized for modern web development practices. It offers a wide range of features, including fluent syntax for building ...

Read more...

Head and Tail using list patterns in C#

Some time ago I wrote blog posts playing with head- and tail-like functions and implementing sum function in C# using these. With the recent addition of list patterns into C# 11, I revisited that topi...

Read more...

PollyFlurl - Resilient and Easy HTTP Requests

# PollyFlurl [Flurl](https://flurl.dev/) + [Polly](http://www.thepollyproject.org/) = resilient and easy HTTP requests. - [GitHub](https://github.com/SaahilClaypool/PollyFlurl) - [Nuget](https://www.n...

Read more...

How to Validate Business Logic

In this article, Oskar Dudycz discusses the importance of validating business logic and defines the level of paranoia each software developer should have when creating a public API. Dudycz identifies ...

Read more...

Extracting metadata from a minimal API handler

This post is part two of the series: Behind the scenes of minimal APIs. The author explains how the RequestDelegateFactory.InferMetadata() method works by inferring metadata from the delegate. The Req...

Read more...

How to run disposable databases for your tests. Improve your integration tests accuracy with Testcontainers

Integration tests are essential to ensure that the different components of our system work together as expected and continue to work after changes. In this post, I’ll explain how to spin up disposable...

Read more...

# NetArchTest - A Fluent API for .Net Standard to Enforce Architectural Rules in Unit Tests

NetArchTest is a .Net Standard 2.0 library that provides a fluent API to enforce architectural rules in unit tests. You can create tests that enforce conventions for class design, naming and dependenc...

Read more...