IIS - change binding from one site to another without downtime

I am trying to use ServerManager from a C # console application to make some site changes to the IIS metabase.

I have a website that I want to deploy without downtime, for this I:

  • Creating a new second site with its own application pool using new DLLs

  • Adding a binding that can be accessed locally so that I can run the first request to the second site and "warm up"

  • I remove the www.domain.com binding from the source site and then add it to the second site and then call CommitChanges ()

This is where the problem begins, the binding information is updated correctly, but IIS stopped the second site. Is there a way to remove the original binding and place it on a new site without changing the commit changes twice?

I really want to avoid ARR overhead in this case or any other load balancing, etc., is there any way to exchange the binding from one site to another without downtime? It seems like it should be.

+4
source share
1 answer

If Microsoft does not support this using IIS, you will be happy to know that you can do this using nginx: http://developer.7digital.com/blog/atomic-mono-deployment-capistrano-and-nginx-under-debian

+1
source

All Articles