ASP.NET Core 7: New features
.NET 7 succeeds .NET 6 with an 18-month (Standard Term Support) release and comes with a massive list of features and improvements, with a strong focus on performance. I started this .NET 7 series ...
.NET 7 succeeds .NET 6 with an 18-month (Standard Term Support) release and comes with a massive list of features and improvements, with a strong focus on performance. I started this .NET 7 series ...
ASP.NET Core 7 comes with a built-in rate limiting middleware on the System.Threading.RateLimiting namespace, and it is one of the features I liked the most; I found it worth giving my take on it. ...
We’ve finally reached the last post of this series! So far, we’ve explored the entire backend design process, from domain modeling to handling persistence, transactions, security, APIs, and the gat...
In the previous post, I talked about persisting domain events into the event store, projecting and reading them, all using Marten. Now it’s time to wrap up everything I’ve covered so far, add any m...
In the previous post, I talked about Domain events, Event Sourcing and CQRS. Now let’s look at how to persist, project, and read events using Marten, and then how a saga orchestrates them into a bu...
In the previous post, I covered a bit more about bounded contexts and some of the building blocks of the implementation. Now, let’s extend the implementation to domain events. Part 1 - Ecommerc...
In the previous post, I presented the project, its motivation, and architecture. Now, it’s time to start checking some implementations. Part 1 - EcommerceDDD overview Part 2 - Strategic and T...
.NET 6 introduces with C#10 a new way for declaring namespaces called file-scoped namespaces. It means you can now declare a namespace per file with a one-line statement rather than nesting your co...
.NET 6 introduces the new TryGetNonEnumeratedCount() extension method on System.Linq namespace to determine the number of elements in a sequence without forcing an enumeration. bool TryGetNonEnume...
.NET 6 introduces an overload allowing a third argument for the Zip() extension method on System.Linq namespace. formerly, only 2 Enumerables were allowed. In summary, it will produce a sequence ...