Skip to content

Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free.

Learn more about Software Architecture & Design.
Join thousands of developers getting weekly updates to increase your understanding of software architecture and design concepts.


Follow @CodeOpinion

Logging MediatR Requests

With the MediatR v3, there is the ability to create your own request pipelines. To help out of the box, there are some predefined behaviors to help out with commen tasks such as pre and post request. These are RequestPreProcessorBehavior<,> and RequestPostProcessorBehavior<,> I’ve blogged about the new behaviors before but you can do it more generically. Cross Cutting Behavior I was looking at the pipeline to handle cross-cutting concerns like logging and metrics, which I would want on each command/query. — Scott Banwart (@sbanwart) September 6, 2017 Logging Pretty typical scenario of wanting to log incoming requests.   One common… Read More »Logging MediatR Requests

Launching Multiple Projects in JetBrains Rider

This sounds trivial, and it is.  But if you have a Visual Studio background and are trying out JetBrains Rider for the first time, this may not be apparent how to setup launching multiple projects in JetBrains Rider. This entire week I’ve almost exclusively used Rider.  I’ve used some of the early EAP’s, but not on an actual project. One of the first roadblocks I hit was trying to figure out how to launch multiple projects from my solution. Thankfully, it didn’t take me too long to figure out. However, I then had a colleague ask me the very next day… Read More »Launching Multiple Projects in JetBrains Rider

Lazy Async

I’ve been moving some data access code to to use Lazy<T> whenever I want to defer actually fetching the data until it’s first needed.  What I’ve always found interesting is there is no Lazy Async. In the exact use case it’s when an application loads, there is some static data loaded from a database.  This data is the cached for later use. However, in many situations it’s not actually needed until much later if at all.  Why take the performance hit of fetching the data on app startup if that data is often times not needed? That’s the whole purpose… Read More »Lazy Async