---
title: "Blog - Muhammad Rehan Saeed"
description: "Blog posts and more authored by Muhammad Rehan Saeed."
canonical_url: "https://rehansaeed.com/4/"
meta:
  author: "Muhammad Rehan Saeed"
  "og:description": "Blog posts and more authored by Muhammad Rehan Saeed."
  "og:image": "https://rehansaeed.com/_og/s/o_da99861270744d26.png"
  "og:image:alt": "Blog - Page 4 - Muhammad Rehan Saeed"
  "og:image:height": "630"
  "og:image:type": image/png
  "og:image:width": "1200"
  "og:title": Blog
  "twitter:image": "https://rehansaeed.com/_og/s/o_da99861270744d26.png"
  "twitter:image:alt": "Blog - Page 4 - Muhammad Rehan Saeed"
---

> Index of every page on this site: [llms.txt](https://rehansaeed.com/llms.txt)

![Muhammad Rehan Saeed](https://rehansaeed.com/_ipx/f_png&s_240x240/images/author/Muhammad-Rehan-Saeed/Logo-192x192.png)

# [Muhammad Rehan Saeed](https://rehansaeed.com)

Software Developer at Microsoft, YouTuber, Open Source Contributor and Blogger

[Youtube](https://www.youtube.com/c/MuhammadRehanSaeed) [Twitch](https://www.twitch.tv/rehansaeeduk) [GitHub](https://github.com/RehanSaeed) [LinkedIn](https://www.linkedin.com/in/muhammad-rehan-saeed) [Stack Overflow](https://stackoverflow.com/users/1212017/muhammad-rehan-saeed) [Bluesky](https://bsky.app/profile/rehansaeed.bsky.social) [Mastodon](https://hachyderm.io/@RehanSaeed) Email [RSS](https://rehansaeed.com/rss.xml)

![Microsoft .NET](https://rehansaeed.com/_ipx/f_png&s_2560x1440/images/hero/Microsoft-.NET-1366x768.png)

## [Optimally Configuring ASP.NET Core HttpClientFactory](https://rehansaeed.com/optimally-configuring-asp-net-core-httpclientfactory/)

How to optimally configure a HttpClient using the new HttpClientFactory API in ASP.NET Core 2.1 for best performance, usability, resiliency and easy of use.

Posted 20 August 2018 and updated 4 April 2021 - **9 min read**

[ASP.NET Core](https://rehansaeed.com/tag/asp-net-core/) [CorrelationId](https://rehansaeed.com/tag/correlation-id/) [HttpClient](https://rehansaeed.com/tag/http-client/) [HttpClientFactory](https://rehansaeed.com/tag/http-client-factory/) [Polly](https://rehansaeed.com/tag/polly/)

![Microsoft .NET](https://rehansaeed.com/_ipx/f_png&s_2560x1440/images/hero/Microsoft-.NET-1366x768.png)

## [ASP.NET Core Hidden Gem - QueryHelpers](https://rehansaeed.com/asp-net-core-hidden-gem-queryhelpers/)

How to build a URL containing dynamic query arguments using the ASP.NET Core QueryHelpers.AddQueryString method. A hidden gem in ASP.NET Core.

Posted 14 July 2018 - **1 min read**

[ASP.NET Core](https://rehansaeed.com/tag/asp-net-core/) [C#](https://rehansaeed.com/tag/c/) [QueryHelpers](https://rehansaeed.com/tag/query-helpers/) [URL](https://rehansaeed.com/tag/url/)

![Microsoft .NET](https://rehansaeed.com/_ipx/f_png&s_2560x1440/images/hero/Microsoft-.NET-1366x768.png)

## [Optimally Configuring Entity Framework Core](https://rehansaeed.com/optimally-configuring-entity-framework-core/)

How to optimally configure your Entity Framework Core DbContext for best performance, resiliency and easy debugging for the developer.

Posted 8 July 2018 - **3 min read**

[Connection Strings](https://rehansaeed.com/tag/connection-strings/) [Entity Framework Core](https://rehansaeed.com/tag/entity-framework-core/) [Microsoft SQL Server](https://rehansaeed.com/tag/microsoft-sql-server/)

![Microsoft .NET](https://rehansaeed.com/_ipx/f_png&s_2560x1440/images/hero/Microsoft-.NET-1366x768.png)

## [Migrating to Entity Framework Core Seed Data](https://rehansaeed.com/migrating-to-entity-framework-core-seed-data/)

How to migrate an existing database to use Entity Framework Core 2.1 Seed Data to insert static data into your tables while using migrations.

Posted 1 July 2018 - **2 min read**

[Entity Framework Core](https://rehansaeed.com/tag/entity-framework-core/) [Migrations](https://rehansaeed.com/tag/migrations/) [Seed Data](https://rehansaeed.com/tag/seed-data/)

![Dotnet Boxed](https://rehansaeed.com/_ipx/f_png&s_2560x1440/images/hero/Dotnet-Boxed-1366x768.png)

## [.NET Boxed](https://rehansaeed.com/net-boxed/)

.NET Boxed is a set of project templates with batteries included, providing the minimum amount of code required to get you going faster.

Posted 13 May 2018 - **2 min read**

[.NET Boxed](https://rehansaeed.com/tag/net-boxed/) [.NET Core](https://rehansaeed.com/tag/net-core/) [API](https://rehansaeed.com/tag/api/) [ASP.NET Core](https://rehansaeed.com/tag/asp-net-core/) [ASP.NET Core Boilerplate](https://rehansaeed.com/tag/asp-net-core-boilerplate/) [GraphQL](https://rehansaeed.com/tag/graph-ql/) [Swagger](https://rehansaeed.com/tag/swagger/)

![Microsoft .NET](https://rehansaeed.com/_ipx/f_png&s_2560x1440/images/hero/Microsoft-.NET-1366x768.png)

## [The Dotnet Watch Tool Revisited](https://rehansaeed.com/the-dotnet-watch-tool-revisited/)

The dotnet watch tool is a file watcher for dotnet that restarts the application when changes in the source code are detected. You can use dotnet watch in Visual Studio by using the launchSettings.json configuration file.

Posted 30 April 2018 - **2 min read**

[.NET](https://rehansaeed.com/tag/net/) [ASP.NET Core](https://rehansaeed.com/tag/asp-net-core/) [.NET Boxed](https://rehansaeed.com/tag/net-boxed/) [ASP.NET MVC](https://rehansaeed.com/tag/asp-net-mvc/) [dotnet watch](https://rehansaeed.com/tag/dotnet-watch/) [launchSettings.json](https://rehansaeed.com/tag/launch-settings-json/) [Visual Studio](https://rehansaeed.com/tag/visual-studio/)

![While Alive-Eat-Sleep-Code-Repeat](https://rehansaeed.com/_ipx/f_png&s_2560x1440/images/hero/While-Alive-Eat-Sleep-Code-Repeat-1366x768.png)

## [Writing Code while Asleep](https://rehansaeed.com/writing-code-asleep/)

How to write code while you sleep using tools like Stack Overflow, GitHub and forums effectively.

Posted 29 January 2018 - **5 min read**

[Curriculum Vitae](https://rehansaeed.com/tag/curriculum-vitae/) [GitHub](https://rehansaeed.com/tag/git-hub/) [Stack Overflow](https://rehansaeed.com/tag/stack-overflow/)

![TypeScript](https://rehansaeed.com/_ipx/f_png&s_2560x1440/images/hero/TypeScript-1366x768.png)

## [Writing your Webpack configuration in TypeScript](https://rehansaeed.com/writing-your-webpack-configuration-in-typescript/)

Learn how to write your Webpack configuration file using TypeScript to get intellisense and how to exclude Webpack 1 syntax from your TypeScript typings.

Posted 3 January 2018 - **4 min read**

[JavaScript](https://rehansaeed.com/tag/java-script/) [ParcelJS](https://rehansaeed.com/tag/parcel-js/) [TypeScript](https://rehansaeed.com/tag/type-script/) [Webpack](https://rehansaeed.com/tag/webpack/)

![Docker](https://rehansaeed.com/_ipx/f_png&s_2560x1440/images/hero/Docker-1366x768.png)

## [Useful Docker Images - Part 2](https://rehansaeed.com/useful-docker-images-part2/)

How to run the ELK-B Stack, made up of ElasticSearch, Kibana, Filebeat, Metricbeat and Heartbeat using Docker and Docker Swarm.

Posted 11 December 2017 - **5 min read**

[Docker](https://rehansaeed.com/tag/docker/) [Docker Compose](https://rehansaeed.com/tag/docker-compose/) [Docker Swarm](https://rehansaeed.com/tag/docker-swarm/) [ElasticSearch](https://rehansaeed.com/tag/elastic-search/) [ELK-B Stack](https://rehansaeed.com/tag/elk-b-stack/) [Filebeat](https://rehansaeed.com/tag/filebeat/) [Heartbeat](https://rehansaeed.com/tag/heartbeat/) [Kibana](https://rehansaeed.com/tag/kibana/) [Metricbeat](https://rehansaeed.com/tag/metricbeat/)

![Docker](https://rehansaeed.com/_ipx/f_png&s_2560x1440/images/hero/Docker-1366x768.png)

## [Useful Docker Images - Part 1](https://rehansaeed.com/useful-docker-images-part1/)

A guide to using the Docker Visualizer, Portainer and Sonatype Nexus Docker images to help manage a Docker Swarm.

Posted 30 November 2017 - **4 min read**

[Docker](https://rehansaeed.com/tag/docker/) [Docker Compose](https://rehansaeed.com/tag/docker-compose/) [Docker Swarm](https://rehansaeed.com/tag/docker-swarm/) [Docker Visualizer](https://rehansaeed.com/tag/docker-visualizer/) [Portainer](https://rehansaeed.com/tag/portainer/) [Sonatype Nexus](https://rehansaeed.com/tag/sonatype-nexus/)

[Previous](https://rehansaeed.com/3/)

**Page 4 of 11**

[Next](https://rehansaeed.com/5/)

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://rehansaeed.com/#website","@type":"WebSite","description":"Software Developer at Microsoft, YouTuber, Open Source Contributor and Blogger","inLanguage":"en-GB","name":"Muhammad Rehan Saeed","url":"https://rehansaeed.com/","author":{"@id":"https://rehansaeed.com/#identity"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://rehansaeed.com/?search={search_term_string}"},"query-input":"required name=search_term_string"}],"publisher":{"@id":"https://rehansaeed.com/#publisher"}},{"@id":"https://rehansaeed.com/4/#webpage","description":"Blog posts and more authored by Muhammad Rehan Saeed.","name":"Blog","url":"https://rehansaeed.com/4/","@type":["WebPage","CollectionPage"],"breadcrumb":{"@id":"https://rehansaeed.com/4/#breadcrumb"},"isPartOf":{"@id":"https://rehansaeed.com/#website"},"potentialAction":[{"@type":"ReadAction","target":["https://rehansaeed.com/4/"]}]},{"@id":"https://rehansaeed.com/#identity","@type":"Person","name":"Muhammad Rehan Saeed","url":"https://rehansaeed.com/about/","image":{"@id":"https://rehansaeed.com/#/schema/image/1"},"sameAs":["https://github.com/RehanSaeed","https://www.linkedin.com/in/muhammad-rehan-saeed","https://stackoverflow.com/users/1212017/muhammad-rehan-saeed","https://www.youtube.com/c/MuhammadRehanSaeed","https://www.twitch.tv/rehansaeeduk"]},{"@id":"https://rehansaeed.com/#publisher","@type":"Organization","logo":"https://rehansaeed.com/images/schema/Publisher-600x60.png","name":"Muhammad Rehan Saeed","url":"https://rehansaeed.com"},{"@id":"https://rehansaeed.com/4/#/schema/item-list/1","@type":"ItemList","itemListElement":[{"@type":"ListItem","name":"Optimally Configuring ASP.NET Core HttpClientFactory","url":"https://rehansaeed.com/optimally-configuring-asp-net-core-httpclientfactory/","position":1},{"@type":"ListItem","name":"ASP.NET Core Hidden Gem - QueryHelpers","url":"https://rehansaeed.com/asp-net-core-hidden-gem-queryhelpers/","position":2},{"@type":"ListItem","name":"Optimally Configuring Entity Framework Core","url":"https://rehansaeed.com/optimally-configuring-entity-framework-core/","position":3},{"@type":"ListItem","name":"Migrating to Entity Framework Core Seed Data","url":"https://rehansaeed.com/migrating-to-entity-framework-core-seed-data/","position":4},{"@type":"ListItem","name":".NET Boxed","url":"https://rehansaeed.com/net-boxed/","position":5},{"@type":"ListItem","name":"The Dotnet Watch Tool Revisited","url":"https://rehansaeed.com/the-dotnet-watch-tool-revisited/","position":6},{"@type":"ListItem","name":"Writing Code while Asleep","url":"https://rehansaeed.com/writing-code-asleep/","position":7},{"@type":"ListItem","name":"Writing your Webpack configuration in TypeScript","url":"https://rehansaeed.com/writing-your-webpack-configuration-in-typescript/","position":8},{"@type":"ListItem","name":"Useful Docker Images - Part 2","url":"https://rehansaeed.com/useful-docker-images-part2/","position":9},{"@type":"ListItem","name":"Useful Docker Images - Part 1","url":"https://rehansaeed.com/useful-docker-images-part1/","position":10}]},{"@id":"https://rehansaeed.com/4/#breadcrumb","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","name":"Blog","item":"https://rehansaeed.com/","position":1},{"@type":"ListItem","name":"Page 4","item":"https://rehansaeed.com/4/","position":2}]},{"@id":"https://rehansaeed.com/#/schema/image/1","@type":"ImageObject","contentUrl":"https://rehansaeed.com/images/author/Muhammad-Rehan-Saeed/Logo-512x512.png","inLanguage":"en-GB","url":"https://rehansaeed.com/images/author/Muhammad-Rehan-Saeed/Logo-512x512.png"}]}
```

## Sitemap

See the full [sitemap](https://rehansaeed.com/sitemap.md) for all pages.
