如何在IIS7 AppCmd工具中使用IIS6样式的配置数据库路径?

时间:2010-04-23 21:28:30

标签: iis-7 iis-6 internationalization appcmd iisvdir

我目前正在升级使用IISVdir工具创建/修改/更新应用和虚拟目录的旧II6自动化脚本,并将其替换为IIS7的AppCmd

IIS6,“IISVDir”命令引用来自元数据库的路径,例如/W3SVC/1/ROOT/MyApp - 其中1是“默认网站”的ID。该命令实际上不需要站点的显示名称来对其进行更改。

这很有效,因为在不同的语言操作系统上,可以命名“默认网站”站点名称,例如“既定のWebサイト”或其他任何内容。但是,如果AppCmd只能通过其名称引用“默认网站”而不是语言中性标识符,则会失去这种灵活性。

那么,如何使用语言中性标识符来引用AppCmd引用网站,vdirs和应用程序以引用“默认应用程序站点”?

也许我需要从一开始就创建自己的网站,并将其命名为其他特定内容,并停止使用“默认网站”作为根目录?

Example of it in Japanese

(披露:我目前只有一台IIS7英语机器,但我有IIS6-English和IIS6-Japanese机器来测试我的旧脚本 - 所以也许它只是“默认网站”仍然在IIS7-日语?)

1 个答案:

答案 0 :(得分:3)

APPCMD工具仅显示网站名称(主要是)。关于完全相同的问题,我在服务器故障上问了一个类似的问题:

  

How do I reference a site by ID using IIS7 APPCMD? (ServerFault.com)

如果您想通过ID开始使用该网站,则需要以编程方式执行此操作,例如:

int iisNumber = 1; // The default website
using (ServerManager serverManager = new ServerManager())
{
  var site = serverManager.Sites
       .Where(s => s.Id == iisNumber)
       .SingleOrDefault();

  if(site != null)
  {
    site.Stop();

    // Do stuff to site...

    site.Start();
  }
  serverManager.CommitChanges();
}