根据虚拟目录获取物理路径

来源:互联网 发布:python socket框架 编辑:程序博客网 时间:2024/05/16 11:48
代码如下: 
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;
        }




原创粉丝点击