【发布时间】:2011-06-24 22:24:43
【问题描述】:
我有 Windows Server 2003 (IIS 6.0) 和 Windows Server 2008 (IIS 7.0) 服务器,我使用 MSBuild 来部署 Web 应用程序。
我需要进行安全部署,然后这样做:
在 IIS 6 中停止网站(或在 IIS 7 中停止应用程序),而不是停止 AppPool。
检查网站是否停止;没有运行。
如果网站停止,请执行另一项部署任务。
启动网站 IIS 6(或 IIS 7 中的应用程序),
我怎样才能做到这一点?
更新:我的关键:IIS6WebSite 和 IIS6AppPool(以及 IIS7),尝试停止网站或 AppPool 时是否等待停止状态?
当我对网站执行停止操作(或对 AppPool 执行停止操作)时,我需要确保 100% 停止网站,然后,并且只有在网站停止时,我才能执行其他目标。
【问题讨论】:
-
我相信您正在寻找类似MSBuild Extension Pack 的东西。它提供启动/停止 IIS 网站的任务(对于 II6,请参阅Iis6WebSite)。
-
+1 虽然这里的一切都“有效”,但如果您只是使用 MSBuild,这是最好的方法。为什么要重新发明轮子?
-
对我来说的关键:Iis6WebSite 和 IIs6AppPool(以及 IIS7),尝试 Stop WebSite 或 AppPool 时是否等待停止状态?
-
使用 MSBuild 扩展包,如何知道 WebSite 或 AppPool (IIS6) 的状态(已启动、已停止...)??
-
@alhambraeidos - 一种选择是使用 HttpWebRequest 任务来查看是否返回 404(我猜这会假设站点已关闭/停止)?
标签: c# iis-7 msbuild iis-6 web-deployment