对虚拟目录的操作(转)
生活随笔
收集整理的這篇文章主要介紹了
对虚拟目录的操作(转)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、查看虛擬目錄是否存在?
private?bool?IsExitesVirtualDir(string?virtualdirname)?
{?
???bool?exited?=false;?
???DirectoryEntry?_entry?=?new?DirectoryEntry("IIS://localhost/W3SVC/1/Root");?
???DirectoryEntries?_entries?=?_entry.Children;?
???foreach(DirectoryEntry?_cen?in?_entries)?
???{?
????if(_cen.Name?==?virtualdirname)?
?????exited?=?true;?
???}?
???return?exited;?
}?
其中virtualdirpath指要建立的虛擬目錄名稱;?
二、新增虛擬目錄?
private?void?CreateVirtualDir(string?virtualdirname,string?logicDir)?
{?
???if(IsExitesVirtualDir(virtualdirname))?
????????DeleteVirtualDir(virtualdirname);?
???DirectoryEntry?_rootEntry?;?
???_rootEntry?=?new?DirectoryEntry("IIS://localhost/W3SVC/1/root");?
???DirectoryEntry?_newVirDir;?
???_newVirDir?=?_rootEntry?.Children.Add(virtualdirpath,"IIsWebVirtualDir");?
???_newVirDir.Invoke("AppCreate",true);?
???_newVirDir.CommitChanges();?
???_rootEntry?.CommitChanges();?
???_newVirDir.Properties["AnonymousPasswordSync"][0]?=?true;?
???_newVirDir.Properties["Path"][0]?=?logicDir?+?@"virtualdirentry\virtualname\";?
???_newVirDir.CommitChanges();?
}?
_newVirDir.Properties["Path"][0]?的值為虛擬目錄對(duì)應(yīng)的物理地址;?
三、更新虛擬目錄?
public?void?Update(string?virtualdirname)?
{?
???//判斷需要更改的虛擬目錄是否存在?
???if(_IsExitesVirtualDir(virtualdirname))?
???{?
????DirectoryEntry?_rootEntry?;?
????_rootEntry?=?new?DirectoryEntry("IIS://localhost/W3SVC/1/root");?
????DirectoryEntry?ode?=?_rootEntry.Children.Find(virtualdirname,"IIsWebVirtualDir");?
????UpdateDirInfo(ode);?
???}?
}?
private?void?UpdateDirInfo(DirectoryEntry?de)?
{?
???de.Properties["AnonymousUserName"][0]?=?AnonymousUserName;?
???de.Properties["AnonymousUserPass"][0]?=?AnonymousUserPass;?
???de.Properties["AccessRead"][0]?=?boolen;?
???de.Properties["AccessExecute"][0]?=?boolen;?
???de.Properties["AccessWrite"][0]?=?boolen;?
???de.Properties["AuthBasic"][0]?=?boolen;?
???de.Properties["AuthNTLM"][0]?=?boolen;?
???de.Properties["ContentIndexed"][0]?=?boolen;?
???de.Properties["EnableDefaultDoc"][0]?=?boolen;?
???de.Properties["EnableDirBrowsing"][0]?=?boolen;?
???de.Properties["AccessSSL"][0]?=?boolen;?
???de.Properties["AccessScript"][0]?=?boolen;?
???de.Properties["DefaultDoc"][0]?=?DefaultDoc;?
???de.Properties["Path"][0]?=?Path;?
???de.CommitChanges();?
}?
四、刪除虛擬目錄?
private?void?DeleteVirtualDir(string?virtualdirname)?
{?
???DirectoryEntry?_rootEntry?;?
???_rootEntry?=?new?DirectoryEntry("IIS://localhost/W3SVC/1/root");?
???object[]?paras?=?new?object[2];?
???paras[0]?=?"IIsVirtualDir";?
???paras[1]?=?virtualdirname;?
???_rootEntry?.Invoke("Delete",paras);?
???_rootEntry?.CommitChanges();?
}?
private?bool?IsExitesVirtualDir(string?virtualdirname)?
{?
???bool?exited?=false;?
???DirectoryEntry?_entry?=?new?DirectoryEntry("IIS://localhost/W3SVC/1/Root");?
???DirectoryEntries?_entries?=?_entry.Children;?
???foreach(DirectoryEntry?_cen?in?_entries)?
???{?
????if(_cen.Name?==?virtualdirname)?
?????exited?=?true;?
???}?
???return?exited;?
}?
其中virtualdirpath指要建立的虛擬目錄名稱;?
二、新增虛擬目錄?
private?void?CreateVirtualDir(string?virtualdirname,string?logicDir)?
{?
???if(IsExitesVirtualDir(virtualdirname))?
????????DeleteVirtualDir(virtualdirname);?
???DirectoryEntry?_rootEntry?;?
???_rootEntry?=?new?DirectoryEntry("IIS://localhost/W3SVC/1/root");?
???DirectoryEntry?_newVirDir;?
???_newVirDir?=?_rootEntry?.Children.Add(virtualdirpath,"IIsWebVirtualDir");?
???_newVirDir.Invoke("AppCreate",true);?
???_newVirDir.CommitChanges();?
???_rootEntry?.CommitChanges();?
???_newVirDir.Properties["AnonymousPasswordSync"][0]?=?true;?
???_newVirDir.Properties["Path"][0]?=?logicDir?+?@"virtualdirentry\virtualname\";?
???_newVirDir.CommitChanges();?
}?
_newVirDir.Properties["Path"][0]?的值為虛擬目錄對(duì)應(yīng)的物理地址;?
三、更新虛擬目錄?
public?void?Update(string?virtualdirname)?
{?
???//判斷需要更改的虛擬目錄是否存在?
???if(_IsExitesVirtualDir(virtualdirname))?
???{?
????DirectoryEntry?_rootEntry?;?
????_rootEntry?=?new?DirectoryEntry("IIS://localhost/W3SVC/1/root");?
????DirectoryEntry?ode?=?_rootEntry.Children.Find(virtualdirname,"IIsWebVirtualDir");?
????UpdateDirInfo(ode);?
???}?
}?
private?void?UpdateDirInfo(DirectoryEntry?de)?
{?
???de.Properties["AnonymousUserName"][0]?=?AnonymousUserName;?
???de.Properties["AnonymousUserPass"][0]?=?AnonymousUserPass;?
???de.Properties["AccessRead"][0]?=?boolen;?
???de.Properties["AccessExecute"][0]?=?boolen;?
???de.Properties["AccessWrite"][0]?=?boolen;?
???de.Properties["AuthBasic"][0]?=?boolen;?
???de.Properties["AuthNTLM"][0]?=?boolen;?
???de.Properties["ContentIndexed"][0]?=?boolen;?
???de.Properties["EnableDefaultDoc"][0]?=?boolen;?
???de.Properties["EnableDirBrowsing"][0]?=?boolen;?
???de.Properties["AccessSSL"][0]?=?boolen;?
???de.Properties["AccessScript"][0]?=?boolen;?
???de.Properties["DefaultDoc"][0]?=?DefaultDoc;?
???de.Properties["Path"][0]?=?Path;?
???de.CommitChanges();?
}?
四、刪除虛擬目錄?
private?void?DeleteVirtualDir(string?virtualdirname)?
{?
???DirectoryEntry?_rootEntry?;?
???_rootEntry?=?new?DirectoryEntry("IIS://localhost/W3SVC/1/root");?
???object[]?paras?=?new?object[2];?
???paras[0]?=?"IIsVirtualDir";?
???paras[1]?=?virtualdirname;?
???_rootEntry?.Invoke("Delete",paras);?
???_rootEntry?.CommitChanges();?
}?
轉(zhuǎn)載于:https://www.cnblogs.com/wpf123/archive/2010/01/21/2347372.html
總結(jié)
以上是生活随笔為你收集整理的对虚拟目录的操作(转)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 任何举动之前,先思考,思考,再思考
- 下一篇: 十年总结共勉之