Supporting integration tests with WebApplicationFactory in .NET 6
In this post, Andrew Lock dives into exploring .NET 6 and discusses how to support integration tests with WebApplicationFactory. WebApplicationFactory and HostFactoryResolver class are two powerful to...
Bending DateTime in .NET to Test Your Code Better
Learn how to solve the problem of validating actual time in your code when using DateTime.Now or DateTime.UtcNow. Author Stephen Walsh shares his solution using SimpleDateTimeProvider NuGet Package wh...
Scrutor - Assembly Scanning and Decoration Extensions for Microsoft.Extensions.DependencyInjection
# Scrutor [](https://ci.appveyor.com/project/khellang/scrutor) [ you are building, such as withi...
How to Build an Event-Driven ASP.NET Core Microservice Architecture
Learn how to use RabbitMQ, C#, REST-API, and Entity Framework to build an event-driven microservice architecture that supports asynchronous decoupled communication and eventual consistency with integr...
C# Channels - Async Data Pipelines
In this article, learn how to efficiently process data in a non-blocking way using the pipeline pattern. Compose and test pipelines using .NETs channels, and see how to cancel and handle errors. Imple...
Pipelines for C#
Pipelines is a library for implementing programs as Pipeline objects in C#. This library is inspired by Arlo Belshees talk, Refactoring to Async. Pipelines are a mechanism of separating a function tha...
Object Calisthenics: Principles for Better Object-Oriented Code
Ready to up your coding game? Object Calisthenics will help you create code that is cleaner, more flexible, more agile, and more reusable. Object Calisthenics were first introduced by Jeff Bay in The ...
The Outbox Pattern in Event-Driven ASP.NET Core Microservice Architectures
Learn how to build a resilient architecture with RabbitMQ, C#, Entity Framework, and the Transactional Outbox Pattern. In this guide, you will create two microservices that use events to publish chang...
Accenture | Let There Be Change
Accenture is a global professional services company with expertise across a wide range of industries and services, including artificial intelligence, customer experience, digital transformation, cyber...
Domain-Driven Refactoring: Intro
A common trap in Domain-Driven Design is blindly applying patterns and complex layering with the hope of achieving clean code. However, no amount of prescriptive guidance results in automatically clea...
Message Routing in Dotnet 6
In this post, Joshua Steward builds on his previous work on background message processing in Dotnet 6 and introduces a new concept called MessageRouter. The post discusses how to route a single Intern...
Proto.Actor - Ultra-fast, distributed, cross-platform actors.
Proto.Actor is a minimalistic API for ultra-fast, distributed, cross-platform actors. It is built on existing technologies and uses Protobuf for serialization. The API is small and easy to use, avoidi...
Event-Driven Architecture with Apache Kafka for .NET Developers Part 1 - Event Producer
Learn how to implement an event-driven architecture using Apache Kafka as the event router. This article covers setting up the development environment and publishing messages to Kafka. Kafka is a hori...
Event-Driven Architecture with Apache Kafka for .NET Developers Part 2 - Event Consumer
In this article, the author discusses the implementation of an event consumer using Kafka for .NET developers with a specific focus on the Manager service. The article also covers the necessary NuGet ...
Graceterm - Tool for Zero Downtime Updates in Kubernetes
Graceterm is a middleware tool for AspNet Core that ensures graceful shutdown of the application. It was designed to achieve zero downtime while performing Kubernetes rolling updates. After receiving ...
Using Service Invocation from Dapr .NET SDK
In this post, Laurent Kempé explains how to invoke services using the Dapr .NET SDK. He compares two methods of invoking services - one using a simple .NET HttpClient and another using the Dapr .NET S...