Code Maze Author

Marinko Spasojević

Hi, my name is Marinko Spasojevic. Currently, I work as a full-time .NET developer and my passion is web application development. Just getting something to work is not enough for me. To make it just how I like it, it must be readable, reusable, and easy to maintain. Prior to being an author on the CodeMaze blog, I had been working as a professor of Computer Science for several years. So, sharing knowledge while working as a full-time developer comes naturally to me.
Also find me here:


MY ARTICLES:

Using Multiple Databases in ASP.NET Core via Entity Framework Core

In this article, we are going to learn how to add multiple databases in the ASP.NET Core project using Entity Framework Core. We are going to show you how our repository pattern implementation helps us in the process by using abstractions that will hide all the...

Dapper Migrations with FluentMigrator and ASP.NET Core

In this article, we are going to show you how to use the FluentMigrator library to create data migrations with Dapper and ASP.NET Core. In our previous article, where we learned a lot about Dapper and ASP.NET Core, we had to create our database and seed our data...

ASP.NET Core Middleware – Creating Flexible Application Flows

ASP.NET Core Middleware is software integrated inside the application's pipeline that we can use to handle requests and responses. When we talk about the ASP.NET Core middleware, we can think of it as a code section that executes with every request. In this article,...

Using Dapper with ASP.NET Core Web API

In this article, we'll learn how to use Dapper in the ASP.NET Core Web API project. We'll talk about Dapper overall, how to use different queries and executions, how to execute stored procedures, and how to create multiple queries inside a transaction. We'll also...

Asynchronous Programming with Async and Await in ASP.NET Core

In this article, we are going to learn about asynchronous programming with the async and await keywords in the ASP.NET Core projects. We are going to dive deep inside these keywords and explain their advantages and how they help us scale our application. Additionally,...

Creating Blazor Material Navigation Menu

In the previous article, we've integrated MudBlazor into our Blazor WebAssembly application and started working with some material components and theme modification. But our navigation menu doesn't look great. Well, to be honest, we didn't do anything with it. That...

Using HttpClientFactory in ASP.NET Core Applications

Up until now, we've been using HttpClient directly in our services. In every service, we've created an HttpClient instance and all the required configurations. That led to repeating code in all of our service classes. [sc name="patreon-source-code"...

Canceling HTTP Requests in ASP.NET Core with CancellationToken

It is quite a possible situation to have a user navigating to the client application's page that sends an HTTP request to the server. While our app processes the request, a user can navigate away from that page. In such a case, we want to cancel the HTTP request since...

Using Streams with HttpClient to Improve Performance and Memory Usage

Up until now, we were using strings to create a request body and also to read the content of the response. However, we can optimize our application by improving performance and memory usage with streams. So, in this article, we are going to learn how to use streams...

Using HttpClient to Send HTTP PATCH Requests in ASP.NET Core

In our two previous articles, we have covered a lot of ground regarding the CRUD operations with HttpClient. If you have read them both, you know how to use HttpClient to fetch data from API, and also to send POST, PUT and DELETE requests using HttpClient. When we...

POST, PUT, and DELETE Requests Using HttpClient in ASP.NET Core

In the previous article, we have learned how to integrate HttpClient in ASP.NET Core, and how to use it to fetch the data from Web API. Also, we learned how to send the GET request using both the GetAsync method and the HttpRequestMessage class. As a continuation, in...