public string GetWebVirtualDirPath(string virtualDirectory)
{
string path= " ";
try
{
string rootPath = "IIS://localhost/W3SVC/1/Root ";
DirectoryEntry deRoot = new DirectoryEntry(rootPath);
DirectoryEntries entries = deRoot.Children;
DirectoryEntry descDir;
descDir = entries.Find(virtualDirectory,deRoot.SchemaClassName);
MessageBox.Show(virtualDirectory);
//if(descDir!=null)
// path=descDir.Properties[ "Path "][0].ToString();
}
catch(Exception e)
{
MessageBox.Show(e.Message);
}
return path;
}
调用如下:
string temp=GetWebVirtualDirPath( "eoffice ");
----------------------------------------------------
public static string GetWebVirtualDirPath(string virtualDirectory)
{
try
{
string iisServer = GetIISServerName();
string rootPath = "IIS:// " + iisServer + "/W3SVC/1/Root ";
DirectoryEntry deRoot = new DirectoryEntry(rootPath);
DirectoryEntries entries = deRoot.Children;
DirectoryEntry descDir;
descDir = entries.Find(virtualDirectory,deRoot.SchemaClassName);
if(descDir!=null)
return descDir.Properties[ "Path "][0].ToString();
else
return " ";
}
catch
{
return " ";
}
}
--------------------------------------------------------------------------
//返回的是指定虚拟目录的实际路径;
public string GetWebVirtualDirectoryPath(string iisName)
{
string iisPath = null;
try
{
DirectoryEntry _entry = new DirectoryEntry("IIS://localhost/W3SVC/1/Root");//此处现在只能读取到默认的80端口
DirectoryEntries _entries = _entry.Children;
foreach (DirectoryEntry _cen in _entries)
{
if (_cen.Name.ToLower() == iisName.ToLower())
{
DirectoryEntry root = new DirectoryEntry(_cen.Path);
iisPath = root.Properties["Path"].Value.ToString();
}
// string aa = _cen.Properties["Path"].Value.ToString();IIS://localhost/W3SVC/1/Root/bbb
}
}
catch (Exception ex)
{
throw ex;
}
return iisPath;
}