Code Maze Author

Georgi Georgiev

Georgi is a software engineer and tech lead with nearly a decade of experience in building microservices and Web APIs with .NET using clean architecture and best practices, ensuring that each solution is not only effective but also sustainable and scalable.
Also find me here:

MY ARTICLES:

Optimistic Locking vs Pessimistic Locking in .NET

Since the invention of database systems, they have become the primary source of truth for almost every web application's data. As user demands grow, applications scale, and so does the concurrency within the system. Ensuring data integrity and consistency along with...

How to Get an Instance of IServiceProvider in .NET

In modern .NET applications, dependency injection is a fundamental design pattern that promotes loose coupling and enhances maintainability. At the center of .NET's dependency injection system lies the IServiceProvider interface, which acts as a service locator for...

Dynamically Change the ServiceLifetime of a Registered Service in .NET

Managing dependencies is essential in modern application development. .NET provides a powerful Dependency Injection (DI) system, with ServiceCollection at its core. Typically, we register a service and use it as is. However, there are instances when we need to change...

Using EF Core Interceptors in .NET

Entity Framework Core (EF Core) has many powerful features, with Interceptors being one of the most versatile. Interceptors allow us to plug in custom behavior at different stages of the EF Core operation pipeline, giving us enhanced control over data interaction...

How to Resolve IOptions Instance Inside Program Class in C#

In this article, we’ll look at resolving the IOptions instance in the Program class, ensuring we avoid common pitfalls and learn some best practices. As software developers, we frequently encounter the challenge of managing application configurations. However, to make...