Centralized Package Version Management for the Project


You have probably encountered situations where, after creating a project, you need to configure TargetFramework, ImplicitUsings, and other properties within the PropertyGroup section of every .csproj file across your projects. Alternatively, you may have worked on an older project and noticed that ....
Read more

Offset vs. Keyset Pagination: How to Efficiently Process Millions of Database Records


Imagine that you need to read 10 million records from a database and perform some processing on them. Naturally, the first approach that comes to mind is to read the data in pages, using a specific ordering, process each page, and then move on to the next one. However, as you read more and more reco ....
Read more

Preventing Cache Stampede in High-Traffic APIs with Double-Checked Locking


As the number of users of your website grows and more requests are sent to your server, the first component that comes under pressure is usually the database. To reduce the load, applications commonly introduce a caching layer in front of the database. ....
Read more

Implementing Multi-Tenancy with EF Core in ASP.NET Core


In this article, we will implement a Multi-Tenant project. In one of our projects, there was a need to implement the system as Multi-Tenant so that the system could be run for multiple customers. Many projects can be run for multiple customers, but the problem is that separate servers, databases, e ....
Read more

Never send requests directly to Kestrel


A few days ago, I was tasked with writing an application that would send several requests to an API. It was a ConsoleApp and wasn’t overly complicated. I wrote the application, tested it on my system, and it worked fine. Then, they said the requests ....
Read more