0

我正在开发一个包含三个 Web 服务和一个网站的 Web 项目。我的源代码存储在 TFS 中以进行版本控制,并且我经常需要在同一代码的多个不同分支中工作。这些分支定期合并,并且都以相同的方式设置。他们都使用 WebDev.WebServer 作为默认主机。这很好,因为它使其他团队成员不必不断更改 IIS 中的设置以切换到正确的文件夹。
好吧,你猜怎么着?
我想迁移到 IIS 并且仍然能够为每个分支使用相同的配置。这将导致冲突,因为每次切换分支时我都需要更改这些项目的虚拟文件夹。我还需要能够关闭这些 IIS 站点以启用 WebDev。手动,这有点工作,我是一名程序员。这需要自动化...
我的想法是创建一个在本地主机上运行的小型 Web 应用程序,我可以使用它来更改虚拟文件夹和/或打开/关闭 IIS 站点。听起来很简单,所以我只需要两件事:

  1. 如何在代码中将 IIS 站点的虚拟文件夹从一个位置更改为另一个位置?
  2. 如何在 IIS 中打开和关闭站点?

很简单,对吧?那么,第三点:您还有其他我可以使用的建议吗?

哦,其他开发人员也在从事同一个项目。并非所有人都将使用 IIS 来运行它。因此我无法更改这些项目的配置文件。我必须通过 IIS 来管理它。

4

2 回答 2

1

就个人而言,我会在这种情况下使用 Powershell。

$websitePath = "IIS:\\Sites\Path to your website in iis"
$fullWebSiteFilePath = "file path to your content"

if(-not (test-path $websitePath))
{
    new-item $websitePath -physicalPath $fullWebSiteFilePath -type Application
}
else
{
    Set-ItemProperty $websitePath -name physicalPath -value $fullWebSiteFilePath 
}

使用一点 jigerry pokery,您可以从 xml 文件中读取不同的配置,然后调用将 xml 文件名作为参数传递的 shell 脚本。

于 2012-05-09T12:17:24.580 回答
0

要以编程方式管理 IIS7,您可以从ServerManager类开始。

于 2012-05-10T06:25:25.247 回答