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

Detecting Sync over Async Code in ASP.NET Core

It’s pretty easy to write some bad async code, especially when you first start using async/await. Async/await is pretty viral in .NET, which means it generally goes all the way through the stack. This can be challenging if you are trying to add async/await to an existing app and you usually end up adding sync over async code. If you don’t use async/await correctly, and end up writing sync-over-async code, you’ll ultimately end up causing ThreadPool starvation. Sync over Async The term refers to making an async call but not awaiting it. Often time this is caused by calling .Wait()… Read More »Detecting Sync over Async Code in ASP.NET Core

Roundup #53: .NET Core 3 Preview 9, Improved NuGet Search, Prefer ValueTask to Task, .NET Core API Performance

Here are the things that caught my eye recently in .NET.  I’d love to hear what you found most interesting this week.  Let me know in the comments or on Twitter. Announcing .NET Core 3.0 Preview 9 Today, we’re announcing .NET Core 3.0 Preview 9. Just like with Preview 8, we’ve focused on polishing .NET Core 3.0 for a final release and aren’t adding new features. If these final builds seem less exciting than earlier previews, that’s by design. Download .NET Core 3.0 Preview 9 right now on Windows, macOS, and Linux. Link: https://devblogs.microsoft.com/dotnet/announcing-net-core-3-0-preview-9/ New and improved NuGet Search is here! It’s been… Read More »Roundup #53: .NET Core 3 Preview 9, Improved NuGet Search, Prefer ValueTask to Task, .NET Core API Performance

Event Sourcing: Projections with Liquid Projections

Projections are an important yet pretty simple concept when working with event-centric or event sourcing systems. The concept is to build a state from a stream of events. In my previous post, Event Sourcing with SQL Stream Store, I made a pretty basic projection to keep the current account balance. In this post, I’ll use Liquid Projections to accomplish the same task. I recommend checking out my post on SQL Stream Store as I’m using the same example/demo application in this post. Liquid Projections Liquid Projection is a library for building projections. The concept and API are pretty simple, and… Read More »Event Sourcing: Projections with Liquid Projections