环境:
。
我想做的是:
查找特定的IIS应用程序,然后
。
,这就是我得到的:
DirectoryEntry IIsEntities = new DirectoryEntry("IIS://localhost/W3SVC");
foreach (DirectoryEntry IIsSite in IIsEntities.Children)
{
if (IIsSite.SchemaClassName == "IIsWebServer")
{
foreach (DirectoryEntry IIsEntity in IIsSite.Children)
{
if (IIsEntity.SchemaClassName == "IIsWebVirtualDir")
{
foreach (DirectoryEntry IIsApp in IIsEntity.Children)
{
yield return new IISWebsite
(
IIsSite.Properties["ServerComment"].Value.ToString(),
IIsApp.Name,
IIsApp.Path,
(ServerState) IIsSite.Properties["ServerState"].Value
);
}
}
}
}
}这将提供一个ComboBox,用户可以在其中选择他们想要更新的站点。到现在为止还好。但是IIsApp.Path给了我一条像IIS://localhost/W3SVC/1/ROOT/Website这样的路径,我不能在Directory.GetFiles或类似的地方使用它。
。
我要找的东西:
一种通过将虚拟路径转换为物理路径来更新web应用程序中的文件的方法。但是如果我可以使用虚拟路径来替换文件,也许我甚至不需要转换它.
发布于 2013-09-02 01:28:07
终于拿到了..。
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\MicrosoftIISv2", "SELECT * FROM IIsWebVirtualDirSetting");
foreach (ManagementObject queryObj in searcher.Get())
{
result.Add(queryObj["Path"]);
}https://stackoverflow.com/questions/18501675
复制相似问题