
Updating Cosmos DB document schema
This post explains the pain-points of updating schema in NoSQL and how you can update Cosmos DB schema using custom JSON serializer.

This post explains the pain-points of updating schema in NoSQL and how you can update Cosmos DB schema using custom JSON serializer.

In this post, I have explained an opinionated way to achieve consistent error handling for your ASP.NET Core through Error response object.

In this post, I have explained how you can load a certificate through code in Azure App Service for Linu

This post talks about why you may need a distributed lock and how you can create a distributed lock using PostgreSQL.

This post explains how can create a simple scheduler using .NET BackgroundService without using external libraries or serverless functions.

This post is the first of my new series on JSON:API for .NET developers. JSON:API has been around for a while but has not been widely known in the .NET world.

This post describes importance of passing a single correlation id across requests in microservices and how we an achieve this in .NET.
This post gives you another reason why to stay away from C# dynamic. It turns the call-site into a late-bound leading to runtime issues.
The traditional Enum types do not support inheritance. The Enumeration class helps us to get away from the limitation.
This post describes how we can render an Enumeration class as an Enum type in client code with NSwag by implementing Swagger ISchemaFilter.
In this post, I have explained how you can use an Enumeration class as a query string parameter by creating a custom Model Binder.
We typically use Enumeration classes with Domain-Driven Design (DDD). In this series, I will describe how you can use an Enumeration Class beyond DDD.
In this post, I will explain how we can serialize an Enumeration class using a custom JSON Converter for both System.Text.Json and Newtonsoft.Json.
This is the first post in the series: Enumeration classes – DDD and beyond. This post gives an introduction to an Enumeration class.
The post describes the issues with Collection integrity in DDD and how we can use ImmutableList to avoid manipulating collections outside the Domain.
This post talks about my journey to publish ASP.NET Core Middleware as a Nuget Package from GitHub repository through GitHub Actions.
This posts talks about some of the standards and practices we use for our internal NuGet packages in our organization.
The post explains captive dependency. It highlights the potential issues when you do not configure lifetime services correctly.
Creating a client library for your Rest service can help your clients consume your Rest API. But is it a silver bullet to every problem?
C# 8 introduced a great feature of async stream using IAsyncEnumerable. This post talks about potential pitfalls when not using it right.
Adding Default Headers to Swagger / Open API definition in ASP.NET Core 3.1 application.
Different approaches we considered to set up integration tests when running against multiple DB providers in ASP.NET Core
In my previous post, I had talked about how we to ported an existing repository code from Azure SQL to Amazon Aurora. This is a two-series post where I will throw a little bit more light on the intention behind it and what we were trying to achieve. Background We had a small ASP.NET Core solution
I recently migrated the Dotnet Foundation website, https://dotnetfoundation.org/ to ASP.NET Core 3.0. The site was initially built on ASP.NET Core 2.1 and I found this as a good learning opportunity. Migrating from ASP.NET Core 2.1 to 2.2 I had initially raised PR to migrate from ASP.NET Core 2.1 to 2.2 instead of directly going to
Without a doubt Open Source is great. It has touched the lives of millions of developers and through them almost everyone living on this planet someway or the other. The magic of Open Source For all the power Open Source has given to developers, the sad reality is that only very few people are actually
Recently, I had written a post on how I managed bring down build pipeline for entire organization. While I was at fault during that time, Team City should take the blame for this one. Background I had recently created a CI/CD pipeline for our new .NET Core project. As part of the build pipeline, I
One of the crucial pieces of the new solution that I’m working on is RabbitMQ. For those who have never heard of RabbitMQ, it is one of the most widely used open source message broker. Since our solution is hosted on-premise, RabbitMQ was one of the most natural fit for us. Our entire solution architecture
Sometime back, I had written about how to override appSettings during development in traditional ASP.NET application. Recently, we started development of a ASP.NET Core application and had a similar challenge. Our developers work on different operating systems (Windows and Mac). They have different local connection strings and application settings. We had a same problem as