IIS - 无需停机即可将绑定从一个站点更改为另一个站点

Cam*_*out 5 c# deployment iis iis-7

我试图从C#控制台应用程序使用ServerManager对IIS元数据库进行一些站点更改.

我有一个我想部署的站点,没有任何停机时间,为此我做到了:

  1. 使用新的DLL使用自己的应用程序池创建新的第二个站点

  2. 添加一个可以在本地访问的绑定,这样我就可以将第一个请求发送到第二个站点并且它"热身"

  3. 我从原始站点删除了www.domain.com的绑定,然后将其添加到第二个站点,然后调用CommitChanges()

这是故障开始的地方,绑定信息已正确更新,但IIS已停止第二个站点.有没有什么方法可以删除原始绑定并将其放在新站点上而不调用两次提交更改?

我真的想避免在这个实例中使用ARR的开销或任何其他负载平衡等,是否有办法在不停机的情况下将绑定从一个站点交换到另一个站点?真的感觉应该有.

kno*_*cte 1

如果 Microsoft 不支持 IIS,您会很高兴知道可以使用 nginx 执行此操作:http://developer.7digital.com/blog/atomic-mono-deployment-capistrano-and-nginx-under -debian