Updated Date Dec 21, 2021 | C#
In this article, we're going to talk about C# delegates, which are a prerequisite for learning events-based programming. Delegates are one of the fundamental building blocks of flexible applications, as they can be found in the vast majority of .NET framework code...
Updated Date Mar 2, 2022 | C#
Events in C# are a mechanism that classes use to send notifications or messages to other classes. They are a specialized delegate type that we use to notify other classes when something they listen to happens. Events are a vital part of many applications, and a...
Updated Date Sep 7, 2022 | C#
Keeping controllers clean and tidy is something we've learned we should do the first time we've stumbled upon the MVC pattern. But as the project grows and other team members enter the project, things might get out of hand. Especially when deadlines need to be met,...
Updated Date Dec 27, 2021 | C#
In this article, we're going to talk about how to protect our sensitive configuration data in the production environment with Azure Key Vault. Previously we've talked about the Secret Manager and environment variables which we can use to protect our data while in...
Updated Date Oct 12, 2022 | C#
We've come to the most important part of this series - securing sensitive data when working with the configuration in ASP.NET Core. As software developers, we are responsible for the security of the applications we create, and it should be on top of our priorities...
Updated Date Oct 12, 2022 | C#
In this article, we are going to create a custom configuration provider that reads our configuration from the database. We've seen how the default configuration providers work, and now we're going to implement our own custom one. For the custom configuration provider,...
Updated Date Dec 27, 2021 | C#
In this article, we're going to talk about different configuration providers in ASP.NET Core. We've got used to using JSON as a default format for our configuration and it's the most commonly used format for configuring ASP.NET Core applications. But there's much more...
Updated Date Dec 27, 2021 | C#
In this article, we're going to learn the importance of options validation and a few ways to implement it in our ASP.NET Core applications. With advanced mechanisms like configuration reloading, we need to think about options validation carefully as we don't want to...
Updated Date Dec 27, 2021 | C#
In this article, we're going to cover another way of reading configuration data in .NET Core - the options pattern. The options pattern helps us group related configuration settings, and it provides strongly typed access to them. We are going to learn how the options...
Updated Date Dec 27, 2021 | C#
In this introductory article, we are going to learn how ASP.NET Core configuration works, the basic configuration concepts, and a few different ways we can use to configure our application. Even by default, the configuration mechanism in .NET is pretty powerful, but...
Updated Date Dec 29, 2021 | C#
In this article, we're going to talk about dependency injection, one of the most frequently used design patterns out there. There are many tutorials about dependency injection, but in this one, we're going to focus on understanding why the dependency injection is used...
Updated Date Nov 4, 2022 | Basic, C#
In this quick tutorial, we are going to talk about different ways to concatenate strings. Splitting and joining strings are commonly used operations in almost any real-world application, so let's see how we can concatenate strings through some examples. We won't cover...
Updated Date Dec 29, 2021 | Basic, C#
In this article, we're going to tackle the popular question among many developers, and that's "What's the difference between string and String" and "When should I use string, and when should I use String" in my applications. Both of these versions exist for a reason,...
Updated Date Jan 31, 2024 | DevOps, Web API
In this article, we are going to talk about one simple way to deploy an ASP.NET Core Web API app to a Kubernetes Cluster on Azure. This is by no means a beginner article, so some knowledge is required to be able to follow along. In order to be able to understand the...
Updated Date Jan 24, 2025 | C#, Web API
In this article, we are going to talk about one of the most important concepts in building RESTful APIs - HATEOAS and learn how to implement HATEOAS in ASP.NET Core Web API. This article relies heavily on the concepts we've implemented so far in paging, filtering,...
Updated Date Jan 24, 2025 | C#, Web API
In this article, we are going to talk about a neat concept called data shaping and how to implement it in ASP.NET Core Web API. To achieve that, we are going to use similar tools as we did in the sorting article. Data shaping is not something that every API needs, but...
Updated Date Feb 20, 2025 | C#, Web API
In this article, we're going to talk about sorting in ASP.NET Core Web API. Sorting is a commonly used mechanism, that every API should implement. Implementing it in ASP.NET Core is not difficult due to the flexibility of LINQ and good integration with EF Core. [sc...
Updated Date Feb 19, 2025 | C#, Web API
In this article, we're going to tackle the topic of searching in ASP.NET Core Web API. Searching is one of those functionalities that can make or break your API, and the level of difficulty when implementing it can vary greatly depending on your specifications. If you...
Updated Date Feb 6, 2025 | C#, Web API
In this article, we will cover filtering in ASP.NET Core Web API. We'll learn what filtering is, how it's different from searching, and how to implement it in a real-world project. While not as critical as paging, filtering is still an important part of a flexible...
Updated Date Feb 4, 2025 | C#, Web API
In this article, we're going to learn how to implement paging in ASP.NET Core Web API. Paging (pagination) is one of the most important concepts in building RESTful APIs. We don't want to return a collection of all resources when querying our API. That can cause...