我正在尝试使用C#控制台应用程序中的ServerManager对IIS元数据库进行一些站点更改。
我有一个我想部署的网站,没有任何停机时间,我这样做:
使用新的DLL使用自己的应用程序池创建新的第二个站点
添加一个可以在本地访问的绑定,这样我就可以将第一个请求发送到第二个站点并且它已经“预热”了
我从原始网站删除了www.domain.com的绑定,然后将其添加到第二个网站,然后调用CommitChanges()
这是故障开始的地方,绑定信息已正确更新,但IIS已停止第二个站点。有没有什么方法可以删除原始绑定并将其放在新站点上,而无需两次调用提交更改?
我真的想避免在这个实例中使用ARR的开销或任何其他负载平衡等,是否有办法在不停机的情况下将绑定从一个站点交换到另一个站点?真的感觉应该有。
答案 0 :(得分:1)
如果Microsoft不通过IIS支持此功能,您会很高兴知道您可以使用nginx执行此操作:http://developer.7digital.com/blog/atomic-mono-deployment-capistrano-and-nginx-under-debian