Description
I use IIS Application Request Routing (ARR) module and URL Rewrite module for zero downtime blue-green deployment of my ASP.NET Core 2.2 application as described here and here. The problem is that all ASP.NET Core hosting w3wp.exe processes are restarted with every ARR config change, what makes the blue-green deployment strategy a little useless, because I cannot warm up the staging server properly (after switching the status of the live server to offline in the web farm configuration, the warmed up staging server is restarted).
All ASP.NET Core hosting w3wp.exe processes that are part of any farm are always restarted with every change in applicationHost.config <webFarms>
section. Processes for non ASP.NET servers or for classic ASP.NET servers that are parts of farms are not restarted. It seems that changes in other than <webFarms>
applicationHost.config sections do not cause restarts. ASP.NET Core processes that are not part of any farm are not restarted.
I use the ASP.NET Core 2.2 In Process IIS Hosting but it behaves the same way with the Out of Process Hosting. I tested it on Windows Server 2008 R2 (IIS 7.5) and on Windows 10 Pro (IIS 10) with the same results. It also doesn't matter if I change the web farms configuration via direct applicationHost.config editing, IIS Manager or Powershell.