Using the Channel Class for Pub/Sub Design in C#: A Comprehensive Guide

The Channel class in C# is a robust tool for managing asynchronous communication between producers and consumers. Introduced with .NET Core 3.0 and now part of the core framework in .NET 7, the Channel class eliminates the need for additional NuGet packages. This blog post explores how to utilize Channel for efficient pub/sub design, covering … Read more

Implementing a Concurrency Rate Limiter in ASP.NET Web API

In modern web applications, controlling the rate of requests using a concurrency rate limiter to your APIs is essential for maintaining performance and preventing abuse. While fixed window rate limiting is a common approach, this guide focuses on implementing a concurrency request rate limiting in ASP.NET Web API, which limits the number of concurrent requests … Read more

AWS DynamoDB

In this blog post, I am going to walk through the AWS DynamoDB database and its feature. I will initially focus on features, and after that accessing AWS DynamoDB using a C# application. I am going cover the following topics in this post: Firstly, I will explain what is DynamoDB Secondly, I will cover its … Read more

AWS Lambda

In this blog post, I am going to talk about AWS Lambda. AWS Lambda is a serverless compute service provided by Amazon Web Services. When we use serverless features, we do not have to worry about managing the infrastructure, managing how to scale out or scale down. And that is the biggest value add for … Read more

Delegates and Events

Delegates and Events are two of the very important fundamental concepts in the .NET Framework. These two concepts we end up using every day in a shape or form inside of our code. Not so much of Events, but Delegates for sure. In this blog post, I am going to walk through some of the … Read more

Service Lifetime in Dependency Injection

In this blog post, I am going to discuss the Dependency Injection Service Lifetime. In the out-of-box Dependency Injection container in .NET Core or .NET 5.0, there are three main service lifetime options available. The main focus of this blog post will be discussing the details of each of the three service lifetime that comes … Read more

Async and Await in C#

In this blog post, I am going to walk through Async and Await feature of C#. The async and await keywords were introduced in C# and it is part of the TAP or Task Asynchronous Programming model. Pre async and await, if we want to write asynchronous code we will either use a Thread class … Read more

Blazor in .NET 5

In today’s blog post, I am going to about Blazer in .NET 5.0. This blog post is going to be the first of the series on Blazor. The topic of Blazor in .NET 5.0, is pretty vast. So I don’t think it is going to be possible to cover every aspect of Blazer in a … Read more

RabbitMQ in .Net Core

RabbitMQ is an open-source message broker. And it is probably one of the most widely used message brokers out there. In my experience, it is one of the most robust message brokers. It is extremely easy to install and use. RabbitMQ is extremely lightweight and very easy to deploy. It supports multiple protocols. It is … Read more

How to manage Configuration in ASP.Net Core

Configuration management is something we cannot do without. It is a must-have feature. In this blog post, I am going to discuss how to manage and access configuration in ASP.Net Core applications. I will use ASP.Net Core 3.1 for demonstrating the example here. Configuration management in ASP.Net Core has improved significantly compared to how it … Read more