Optimizing CPU-Bound and Memory-Bound .NET Applications: 11 Best Practices

Our productivity is limited by our resources, but we have the ability to make better or worse use of them. The goal should be to use each of our resources as close to its limit as possible. We want to use every bit of our CPU and memory or else we're over-paying for expensive machines.

Dynamic Queries with Expressions Trees in C#

In this article, you'll see how frameworks like Entity Framework and MongoDB C# driver use expressions trees to make that conversion. And you'll see how to use expression trees yourself to build dynamic queries. Those are queries that you aren't able to create at compile time because you'll know how the query should look like only at runtime.

C# to C# Communication: REST, gRPC and everything in between

There are many ways to communicate between a C# client and a C# server. Some are robust, others not so much. Some are very fast, others aren't. It's important to know the different options so you can decide what's best for you.

Debugging ASP.NET Web Request Failures: The Complete Guide

You’re sending an HTTP request to your ASP.NET server, and out of the blue, it returns a 500 error. Now what? The error code doesn’t say too much by itself. Did a database request fail? Was there an exception? In this article we'll see how to get the most information on the error.