Duplication is not only about lines of code, but also about data usage and meaning. You should avoid that kind of duplication.
Logs are important. Properly structured logs can be the key to resolving some critical issues. With Serilog's Scopes, you can enrich your logs with info about the context where they happened.
Initializing HttpClient instances can expose you to Socket Exhaustion problems. You should use IHttpClientFactory instead
C# recently introduced Records, a new way of defining types. In this article, we will see 8 things you probably didn't know about C# Records
Should you write your tests with the same care you write the production code? Of course you should! But what does it mean?
In unit tests, sometimes you need to perform deep checks on the object passed to the mocked service. We will learn 3 ways to do that with Moq and C#
How to get all the keys of an ExpandoObject? Convert it to Dictionary!