<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hi, I'm Ankit!</title><link>https://ankitvijay.net/</link><description>Recent content on Hi, I'm Ankit!</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 04 Oct 2026 14:20:00 +1000</lastBuildDate><atom:link href="https://ankitvijay.net/feed.xml" rel="self" type="application/rss+xml"/><item><title>Using Azure Cosmos persistence with NServiceBus</title><link>https://ankitvijay.net/2021/10/10/using-azure-cosmos-persistence-with-nservicebus/</link><pubDate>Sun, 10 Oct 2021 11:02:30 +1000</pubDate><guid>https://ankitvijay.net/2021/10/10/using-azure-cosmos-persistence-with-nservicebus/</guid><description>This post explains how you can use NServiceBus and Azure Cosmos DB persistence together for scalability and reliability.</description></item><item><title>Gotchas with switch expression</title><link>https://ankitvijay.net/2021/09/04/c-gotchas-with-switch-expression/</link><pubDate>Sat, 04 Sep 2021 07:59:21 +1000</pubDate><guid>https://ankitvijay.net/2021/09/04/c-gotchas-with-switch-expression/</guid><description>This post talks about a bug in Rider and Roslyn analyzers when we refactor the switch-case to switch expression with Nullable default type.</description></item><item><title>Privacy Policy</title><link>https://ankitvijay.net/privacy-policy/</link><pubDate>Sun, 15 Aug 2021 15:37:02 +1000</pubDate><guid>https://ankitvijay.net/privacy-policy/</guid><description>&lt;p>&lt;em>Last updated: 4 October 2026&lt;/em>&lt;/p>
&lt;h2 id="who-runs-this-site">Who runs this site&lt;/h2>
&lt;p>This is the personal blog of Ankit Vijay, at &lt;a href="https://ankitvijay.net">https://ankitvijay.net&lt;/a>. If you have a question about this policy or about anything on the site that relates to you, email me at &lt;a href="mailto:vijayankit@outlook.com">vijayankit@outlook.com&lt;/a>.&lt;/p>
&lt;h2 id="the-short-version">The short version&lt;/h2>
&lt;p>This is a static website. It has no accounts, no comment form, no contact form, no advertising, no analytics and no tracking scripts, and it does not set cookies. I do not collect personal information from you when you read it.&lt;/p></description></item><item><title>Updating Cosmos DB document schema</title><link>https://ankitvijay.net/2021/07/18/update-schema-cosmos-db/</link><pubDate>Sun, 18 Jul 2021 09:44:35 +1000</pubDate><guid>https://ankitvijay.net/2021/07/18/update-schema-cosmos-db/</guid><description>This post explains the pain-points of updating schema in NoSQL and how you can update Cosmos DB schema using custom JSON serializer.</description></item><item><title>Custom JSON serialization with Azure Cosmos DB SDK</title><link>https://ankitvijay.net/2021/06/20/custom-json-serializer-settings-with-cosmos-db-sdk/</link><pubDate>Sun, 20 Jun 2021 09:14:10 +1000</pubDate><guid>https://ankitvijay.net/2021/06/20/custom-json-serializer-settings-with-cosmos-db-sdk/</guid><description>This post explains how you can use custom JSON serializer settings with Cosmos DB using Newtonsoft JSON and System.Text.Json.</description></item><item><title>An opinionated way to consistent Error Handling in ASP.NET Core</title><link>https://ankitvijay.net/2021/04/21/consistent-error-handling/</link><pubDate>Wed, 21 Apr 2021 08:23:23 +1000</pubDate><guid>https://ankitvijay.net/2021/04/21/consistent-error-handling/</guid><description>In this post, I have explained an opinionated way to achieve consistent error handling for your ASP.NET Core through Error response object.</description></item><item><title>Loading certificate in Azure App Service for Linux</title><link>https://ankitvijay.net/2021/04/14/certificate-azure-app-service-linux/</link><pubDate>Wed, 14 Apr 2021 08:27:30 +1000</pubDate><guid>https://ankitvijay.net/2021/04/14/certificate-azure-app-service-linux/</guid><description>In this post, I have explained how you can load a certificate through code in Azure App Service for Linu</description></item><item><title>Distributed lock using PostgreSQL</title><link>https://ankitvijay.net/2021/02/28/distributed-lock-using-postgresql/</link><pubDate>Sun, 28 Feb 2021 09:02:56 +1000</pubDate><guid>https://ankitvijay.net/2021/02/28/distributed-lock-using-postgresql/</guid><description>This post talks about why you may need a distributed lock and how you can create a distributed lock using PostgreSQL.</description></item><item><title>A poor person’s scheduler using .NET Background service</title><link>https://ankitvijay.net/2021/02/22/a-poor-mans-scheduler-using-net-background-serivce/</link><pubDate>Mon, 22 Feb 2021 06:47:12 +1000</pubDate><guid>https://ankitvijay.net/2021/02/22/a-poor-mans-scheduler-using-net-background-serivce/</guid><description>This post explains how can create a simple scheduler using .NET BackgroundService without using external libraries or serverless functions.</description></item><item><title>JSON:API for .NET developers – Part 1</title><link>https://ankitvijay.net/2021/01/09/json-api-dotnet-part-1/</link><pubDate>Sat, 09 Jan 2021 11:08:07 +1000</pubDate><guid>https://ankitvijay.net/2021/01/09/json-api-dotnet-part-1/</guid><description>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.</description></item><item><title>Passing correlation id across requests</title><link>https://ankitvijay.net/2020/11/24/passing-correlation-id-across-requests/</link><pubDate>Tue, 24 Nov 2020 22:30:17 +1000</pubDate><guid>https://ankitvijay.net/2020/11/24/passing-correlation-id-across-requests/</guid><description>This post describes importance of passing a single correlation id across requests in microservices and how we an achieve this in .NET.</description></item><item><title>Get the most out of your tests</title><link>https://ankitvijay.net/2020/11/10/get-the-most-out-of-your-tests/</link><pubDate>Tue, 10 Nov 2020 23:03:31 +1000</pubDate><guid>https://ankitvijay.net/2020/11/10/get-the-most-out-of-your-tests/</guid><description>This post provides tips that can help you write great tests and get the best results from your test suite.</description></item><item><title>Welcome to my blog</title><link>https://ankitvijay.net/welcome-to-my-blog/</link><pubDate>Sat, 26 Sep 2020 07:38:54 +1000</pubDate><guid>https://ankitvijay.net/welcome-to-my-blog/</guid><description>&lt;p>&lt;a href="https://ankitvijay.net/category/net-6/">.NET 6&lt;/a>&lt;/p>
&lt;h2 id="using-azure-cosmos-persistence-with-nservicebus">&lt;a href="https://ankitvijay.net/2021/10/10/using-azure-cosmos-persistence-with-nservicebus/">Using Azure Cosmos persistence with NServiceBus&lt;/a>&lt;/h2>
&lt;p>This post explains how you can use NServiceBus and Azure Cosmos DB persistence together for scalability and reliability.&lt;/p>
&lt;p>October 10, 2021December 23, 2022&lt;/p>
&lt;p>&lt;a href="https://ankitvijay.net/2021/09/04/c-gotchas-with-switch-expression/">&lt;img src="https://ankitvijay.net/wp-content/uploads/2022/12/51f6d-csharp.png" alt="Gotchas with switch expression">&lt;/a>&lt;/p>
&lt;p>&lt;a href="https://ankitvijay.net/tag/net/">.NET&lt;/a>&lt;/p>
&lt;h2 id="gotchas-with-switch-expression">&lt;a href="https://ankitvijay.net/2021/09/04/c-gotchas-with-switch-expression/">Gotchas with switch expression&lt;/a>&lt;/h2>
&lt;p>This post talks about a bug in Rider and Roslyn analyzers when we refactor the switch-case to switch expression with Nullable default type.&lt;/p>
&lt;p>September 4, 2021September 4, 2021&lt;/p>
&lt;p>&lt;a href="https://ankitvijay.net/2021/07/18/update-schema-cosmos-db/">&lt;img src="https://ankitvijay.net/wp-content/uploads/2022/12/ab732-updateschema-2.jpg" alt="Updating Cosmos DB document schema">&lt;/a>&lt;/p></description></item><item><title>Hi, I’m Ankit</title><link>https://ankitvijay.net/hi-im-ankit/</link><pubDate>Wed, 23 Sep 2020 06:48:51 +1000</pubDate><guid>https://ankitvijay.net/hi-im-ankit/</guid><description>&lt;p>&lt;a href="https://ankitvijay.net/2021/04/21/consistent-error-handling/">&lt;img src="https://ankitvijay.net/wp-content/uploads/2022/12/10680-feature-image.jpg" alt="An opinionated way to consistent Error Handling in ASP.NET Core">&lt;/a>&lt;/p>
&lt;p>&lt;a href="https://ankitvijay.net/tag/net-5/">.NET 5&lt;/a>&lt;/p>
&lt;h2 id="an-opinionated-way-to-consistent-error-handling-in-aspnet-core">&lt;a href="https://ankitvijay.net/2021/04/21/consistent-error-handling/">An opinionated way to consistent Error Handling in ASP.NET Core&lt;/a>&lt;/h2>
&lt;p>In this post, I have explained an opinionated way to achieve consistent error handling for your ASP.NET Core through Error response object.&lt;/p>
&lt;p>April 21, 2021April 21, 2021&lt;/p>
&lt;p>&lt;a href="https://ankitvijay.net/2021/04/14/certificate-azure-app-service-linux/">&lt;img src="https://ankitvijay.net/wp-content/uploads/2022/12/d9e8c-featured-image-e1618352370954.jpg" alt="Loading certificate in Azure App Service for Linux">&lt;/a>&lt;/p>
&lt;p>&lt;a href="https://ankitvijay.net/tag/net-core/">.NET Core&lt;/a>&lt;/p>
&lt;h2 id="loading-certificate-in-azure-app-service-for-linux">&lt;a href="https://ankitvijay.net/2021/04/14/certificate-azure-app-service-linux/">Loading certificate in Azure App Service for Linux&lt;/a>&lt;/h2>
&lt;p>In this post, I have explained how you can load a certificate through code in Azure App Service for Linu&lt;/p></description></item><item><title>Moving away from Visual Studio to JetBrains Rider</title><link>https://ankitvijay.net/2020/09/22/visual-studio-to-rider/</link><pubDate>Tue, 22 Sep 2020 12:08:56 +1000</pubDate><guid>https://ankitvijay.net/2020/09/22/visual-studio-to-rider/</guid><description>The post describes JetBrains Rider as an alternate to Visual Studio and how Rider can help mitigate some of the Visual Studio pain-points.</description></item><item><title>C# dynamic is evil, not your friend</title><link>https://ankitvijay.net/2020/09/11/c-dynamic-is-an-evil-not-your-friend/</link><pubDate>Fri, 11 Sep 2020 07:48:20 +1000</pubDate><guid>https://ankitvijay.net/2020/09/11/c-dynamic-is-an-evil-not-your-friend/</guid><description>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.</description></item><item><title>Implementing inheritance with Enumeration class</title><link>https://ankitvijay.net/2020/08/08/inheritance-enumeration-class/</link><pubDate>Sat, 08 Aug 2020 09:18:46 +1000</pubDate><guid>https://ankitvijay.net/2020/08/08/inheritance-enumeration-class/</guid><description>The traditional Enum types do not support inheritance. The Enumeration class helps us to get away from the limitation.</description></item><item><title>Generating client code with NSwag for Enumeration class</title><link>https://ankitvijay.net/2020/07/12/enumeration-class-nswag/</link><pubDate>Sun, 12 Jul 2020 08:24:22 +1000</pubDate><guid>https://ankitvijay.net/2020/07/12/enumeration-class-nswag/</guid><description>This post describes how we can render an Enumeration class as an Enum type in client code with NSwag by implementing Swagger ISchemaFilter.</description></item><item><title>Enumeration class as query string parameter</title><link>https://ankitvijay.net/2020/06/14/enumeration-class-query-string/</link><pubDate>Sun, 14 Jun 2020 08:19:45 +1000</pubDate><guid>https://ankitvijay.net/2020/06/14/enumeration-class-query-string/</guid><description>In this post, I have explained how you can use an Enumeration class as a query string parameter by creating a custom Model Binder.</description></item><item><title>Series: Enumeration Classes – DDD and beyond</title><link>https://ankitvijay.net/2020/06/12/series-enumeration-classes-ddd-and-beyond/</link><pubDate>Fri, 12 Jun 2020 07:31:12 +1000</pubDate><guid>https://ankitvijay.net/2020/06/12/series-enumeration-classes-ddd-and-beyond/</guid><description>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.</description></item><item><title>Enumeration class and JSON Serialization</title><link>https://ankitvijay.net/2020/06/01/enumeration-class-serialization/</link><pubDate>Mon, 01 Jun 2020 07:08:05 +1000</pubDate><guid>https://ankitvijay.net/2020/06/01/enumeration-class-serialization/</guid><description>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.</description></item><item><title>Introduction to Enumeration Classes</title><link>https://ankitvijay.net/2020/05/21/introduction-enumeration-class/</link><pubDate>Thu, 21 May 2020 07:21:30 +1000</pubDate><guid>https://ankitvijay.net/2020/05/21/introduction-enumeration-class/</guid><description>This is the first post in the series: Enumeration classes – DDD and beyond. This post gives an introduction to an Enumeration class.</description></item><item><title>Integrity of Collections in Domain-Driven Design</title><link>https://ankitvijay.net/2020/05/10/integrity-of-collections-in-domain-driven-design/</link><pubDate>Sun, 10 May 2020 14:59:27 +1000</pubDate><guid>https://ankitvijay.net/2020/05/10/integrity-of-collections-in-domain-driven-design/</guid><description>The post describes the issues with Collection integrity in DDD and how we can use ImmutableList to avoid manipulating collections outside the Domain.</description></item><item><title>From GitHub to NuGet</title><link>https://ankitvijay.net/2020/04/27/from-github-to-nuget/</link><pubDate>Mon, 27 Apr 2020 07:50:37 +1000</pubDate><guid>https://ankitvijay.net/2020/04/27/from-github-to-nuget/</guid><description>This post talks about my journey to publish ASP.NET Core Middleware as a Nuget Package from GitHub repository through GitHub Actions.</description></item><item><title>Writing better tests with xUnit Theory</title><link>https://ankitvijay.net/2020/04/12/updating-test-output-with-xunit-theory/</link><pubDate>Sun, 12 Apr 2020 08:55:36 +1000</pubDate><guid>https://ankitvijay.net/2020/04/12/updating-test-output-with-xunit-theory/</guid><description>This post describes some of the pain-points of xUnit Theory and how we can write more descriptive tests by overriding the test output.</description></item><item><title>NuGet packages – Our Standards and Defaults</title><link>https://ankitvijay.net/2020/03/29/nuget-packages-our-standards-and-defaults/</link><pubDate>Sun, 29 Mar 2020 15:10:41 +1000</pubDate><guid>https://ankitvijay.net/2020/03/29/nuget-packages-our-standards-and-defaults/</guid><description>This posts talks about some of the standards and practices we use for our internal NuGet packages in our organization.</description></item><item><title>.NET Core and DI – Beware of Captive Dependency</title><link>https://ankitvijay.net/2020/03/17/net-core-and-di-beware-of-captive-dependency/</link><pubDate>Tue, 17 Mar 2020 07:51:42 +1000</pubDate><guid>https://ankitvijay.net/2020/03/17/net-core-and-di-beware-of-captive-dependency/</guid><description>The post explains captive dependency. It highlights the potential issues when you do not configure lifetime services correctly.</description></item><item><title>Client library for your Rest API – Is it worth the pain?</title><link>https://ankitvijay.net/2020/02/25/client-library-for-your-rest-api-is-it-worth-the-pain/</link><pubDate>Tue, 25 Feb 2020 19:04:13 +1000</pubDate><guid>https://ankitvijay.net/2020/02/25/client-library-for-your-rest-api-is-it-worth-the-pain/</guid><description>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?</description></item><item><title>Our failed attempt at IAsyncEnumerable</title><link>https://ankitvijay.net/2020/02/02/our-failed-attempt-at-iasyncenumerable/</link><pubDate>Sun, 02 Feb 2020 16:23:07 +1000</pubDate><guid>https://ankitvijay.net/2020/02/02/our-failed-attempt-at-iasyncenumerable/</guid><description>C# 8 introduced a great feature of async stream using IAsyncEnumerable. This post talks about potential pitfalls when not using it right.</description></item><item><title>Adding Default Headers to Swagger (OpenAPI)</title><link>https://ankitvijay.net/2020/01/16/adding-default-headers-to-swagger-openapi/</link><pubDate>Thu, 16 Jan 2020 07:58:18 +1000</pubDate><guid>https://ankitvijay.net/2020/01/16/adding-default-headers-to-swagger-openapi/</guid><description>Adding Default Headers to Swagger / Open API definition in ASP.NET Core 3.1 application.</description></item></channel></rss>