【发布时间】:2014-07-17 08:02:48
【问题描述】:
我已经阅读了很多关于如何使用 Web 设置项目和自定义操作等的文章。但是,它们似乎都没有解释如何在 IIS 中创建不在“默认站点”下的新网站。
我目前有以下编码,改编自其中一篇文章:
private const string MetaBasePath = "IIS://Localhost/W3SVC";
Install方法期间调用如下方法:
private void CreateWebsite()
{
DirectoryEntry IISWebSites = new DirectoryEntry(MetaBasePath);
DirectoryEntries sites = IISWebSites.Children;
DirectoryEntry TestAppWebSite = sites.Add("TestWebApp", (IISWebSites.SchemaClassName.Replace("Service", "Server")));
TestAppWebSite.Properties["ServerComment"][0] = "Testing";
TestAppWebSite.CommitChanges();
}
这似乎是在“默认站点”下创建一个网站。我很确定“MetaBasePath”的定义正确,因为这也用于另一种方法来检查网站当前是否存在。此方法遍历“MetaBasePath”的子节点并检查每个子节点的属性。我已经单步执行了这段代码,这正在撤回我希望看到的网站,所以我知道它从该路径获取正确的信息。
我错过了什么?
更新
如果我使用站点 ID 而不是名称,我似乎能够创建一个不在“默认站点”下的新站点。
【问题讨论】:
标签: c# iis-7 iis-6 custom-action web-setup-project