C# 在代码中更改虚拟路径和启用/禁用站点
我正在从事一个包含三个web服务和一个网站的web项目。我的源代码存储在TFS中,用于版本控制,我经常需要在同一代码的多个不同分支中工作。这些分支机构定期合并,并以相同的方式设立。它们都使用WebDev.WebServer作为默认主机。这很好,因为它使其他团队成员不必不断更改IIS中的设置以切换到正确的文件夹。C# 在代码中更改虚拟路径和启用/禁用站点,c#,iis-7,asp.net-4.0,C#,Iis 7,Asp.net 4.0,我正在从事一个包含三个web服务和一个网站的web项目。我的源代码存储在TFS中,用于版本控制,我经常需要在同一代码的多个不同分支中工作。这些分支机构定期合并,并以相同的方式设立。它们都使用WebDev.WebServer作为默认主机。这很好,因为它使其他团队成员不必不断更改IIS中的设置以切换到正确的文件夹。 好吧,你猜怎么着? 我想移动到IIS,并且仍然能够为每个分支使用相同的配置。这将导致冲突,因为每次切换分支时都需要更改这些项目的虚拟文件夹。我还需要能够关闭这些IIS站点以启用WebDe
好吧,你猜怎么着?
我想移动到IIS,并且仍然能够为每个分支使用相同的配置。这将导致冲突,因为每次切换分支时都需要更改这些项目的虚拟文件夹。我还需要能够关闭这些IIS站点以启用WebDev的使用。手动操作,这需要一点工作,而我是一名程序员。这需要自动化…
我的想法是创建一个在本地主机上运行的小型web应用程序,我可以使用它来更改虚拟文件夹和/或打开/关闭IIS站点。听起来很简单,所以我只需要两件事:
哦,其他开发者也在做同样的项目。并不是所有人都会使用IIS来运行它。因此,我无法更改这些项目的配置文件。我必须通过IIS来管理它。就我个人而言,我会在这个实例中使用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扑克,您可以从xml文件中读取不同的配置,然后调用将xml文件名作为参数传递的shell脚本。要以编程方式管理IIS7,您可以从类开始。当然,这也是可能的。但是我的本地主机上已经有了一个管理webapp,它可以更改很多设置。为我提供了一个很好的关于各种事物的概述。它还允许我在使用远程桌面或多台计算机时更改设置。